[libgda/LIBGDA_5.2] Fix jhbuild building. GIR and Vala Bindings update.



commit 049515ebea8d985e46e444a2c88bf86d0bc4a45e
Author: Daniel Espinosa <esodan gmail com>
Date:   Tue Sep 30 21:24:42 2014 -0500

    Fix jhbuild building. GIR and Vala Bindings update.

 INSTALL                     |    4 +-
 configure.ac                |    2 +-
 libgda-ui/libgdaui-5.0.deps |    5 +
 libgda-ui/libgdaui-5.0.vapi |   18 +-
 libgda/Gda-5.0.gir          | 8458 +++++++++++++++++++++++++------------------
 libgda/libgda-5.0.deps      |    3 +
 libgda/libgda-5.0.vapi      |  108 +-
 7 files changed, 5077 insertions(+), 3521 deletions(-)
---
diff --git a/INSTALL b/INSTALL
index 007e939..2099840 100644
--- a/INSTALL
+++ b/INSTALL
@@ -12,8 +12,8 @@ without warranty of any kind.
 Basic Installation
 ==================
 
-   Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
+   Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package.  The following
 more-detailed instructions are generic; see the `README' file for
 instructions specific to this package.  Some packages provide this
 `INSTALL' file but do not implement all of the features documented
diff --git a/configure.ac b/configure.ac
index d4c0e93..ace59a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -545,7 +545,7 @@ fi
 if test "x$enable_vala" = "xyes"
 then
        AM_PROG_VALAC([0.17.7])
-       VAPIGEN_CHECK([0.17.7],[0.18],,no)
+       VAPIGEN_CHECK([0.17.7],,,no)
 else
        AM_CONDITIONAL(ENABLE_VAPIGEN,false)
 fi
diff --git a/libgda-ui/libgdaui-5.0.deps b/libgda-ui/libgdaui-5.0.deps
new file mode 100644
index 0000000..75c32de
--- /dev/null
+++ b/libgda-ui/libgdaui-5.0.deps
@@ -0,0 +1,5 @@
+glib-2.0
+gobject-2.0
+libxml-2.0
+libgda-ui-5.0
+gtk+-3.0
\ No newline at end of file
diff --git a/libgda-ui/libgdaui-5.0.vapi b/libgda-ui/libgdaui-5.0.vapi
index 936f029..ce98347 100644
--- a/libgda-ui/libgdaui-5.0.vapi
+++ b/libgda-ui/libgdaui-5.0.vapi
@@ -1,4 +1,4 @@
-/* libgdaui-5.0.vapi generated by vapigen-0.18, do not modify. */
+/* libgdaui-5.0.vapi generated by vapigen-0.26, do not modify. */
 
 [CCode (cprefix = "Gdaui", gir_namespace = "Gdaui", gir_version = "5.0", lower_case_cprefix = "gdaui_")]
 namespace Gdaui {
@@ -336,7 +336,7 @@ namespace Gdaui {
                [NoWrapper]
                public virtual bool is_valid ();
                [NoWrapper]
-               public virtual GLib.Value real_get_value ();
+               public virtual GLib.Value? real_get_value ();
                [NoWrapper]
                public virtual void real_set_value (GLib.Value value);
                [NoWrapper]
@@ -412,7 +412,7 @@ namespace Gdaui {
        public class NumericEntry : Gdaui.Entry, Atk.Implementor, Gtk.Buildable, Gtk.CellEditable, 
Gtk.Editable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public NumericEntry (GLib.Type type);
-               public GLib.Value get_value ();
+               public GLib.Value? get_value ();
                [NoAccessorMethod]
                public char decimal_sep { get; set; }
                [NoAccessorMethod]
@@ -534,9 +534,11 @@ namespace Gdaui {
        [CCode (cheader_filename = "libgda-ui/libgda-ui.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gdaui_set_source_get_type ()")]
        [Compact]
        public class SetSource {
-               public int ref_cols_index;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak int[] ref_cols_index;
                public int ref_n_cols;
-               public int shown_cols_index;
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak int[] shown_cols_index;
                public int shown_n_cols;
                public weak Gda.SetSource source;
                [CCode (has_construct_function = false)]
@@ -584,9 +586,9 @@ namespace Gdaui {
                public abstract bool get_editable ();
                public abstract unowned Gda.DataHandler get_handler ();
                [NoWrapper]
-               public abstract GLib.Value get_ref_value ();
-               public GLib.Value get_reference_value ();
-               public abstract GLib.Value get_value ();
+               public abstract unowned GLib.Value? get_ref_value ();
+               public unowned GLib.Value? get_reference_value ();
+               public abstract unowned GLib.Value? get_value ();
                public abstract GLib.Type get_value_type ();
                public abstract void grab_focus ();
                public abstract void set_attributes (Gda.ValueAttribute attrs, Gda.ValueAttribute mask);
diff --git a/libgda/Gda-5.0.gir b/libgda/Gda-5.0.gir
index b9f96e9..fd0c9af 100644
--- a/libgda/Gda-5.0.gir
+++ b/libgda/Gda-5.0.gir
@@ -26,43 +26,43 @@ and/or use gtk-doc annotations.  -->
     <constant name="ATTRIBUTE_AUTO_INCREMENT"
               value="__gda_attr_autoinc"
               c:type="GDA_ATTRIBUTE_AUTO_INCREMENT">
-      <doc xml:whitespace="preserve">The corresponding attribute specifies if the object it refers to is 
auto incremented (value has a G_TYPE_BOOLEAN type).</doc>
+      <doc xml:space="preserve">The corresponding attribute specifies if the object it refers to is auto 
incremented (value has a G_TYPE_BOOLEAN type).</doc>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <constant name="ATTRIBUTE_DESCRIPTION"
               value="__gda_attr_descr"
               c:type="GDA_ATTRIBUTE_DESCRIPTION">
-      <doc xml:whitespace="preserve">The corresponding attribute is the description of the object it refers 
to (value has a G_TYPE_STRING type).</doc>
+      <doc xml:space="preserve">The corresponding attribute is the description of the object it refers to 
(value has a G_TYPE_STRING type).</doc>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <constant name="ATTRIBUTE_IS_DEFAULT"
               value="__gda_attr_is_default"
               c:type="GDA_ATTRIBUTE_IS_DEFAULT">
-      <doc xml:whitespace="preserve">The corresponding attribute specifies if the object it refers to has 
its value to default (value has a G_TYPE_BOOLEAN type).</doc>
+      <doc xml:space="preserve">The corresponding attribute specifies if the object it refers to has its 
value to default (value has a G_TYPE_BOOLEAN type).</doc>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <constant name="ATTRIBUTE_NAME"
               value="__gda_attr_name"
               c:type="GDA_ATTRIBUTE_NAME">
-      <doc xml:whitespace="preserve">The corresponding attribute is the name of the object it refers to 
(value has a G_TYPE_STRING type).</doc>
+      <doc xml:space="preserve">The corresponding attribute is the name of the object it refers to (value 
has a G_TYPE_STRING type).</doc>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <constant name="ATTRIBUTE_NUMERIC_PRECISION"
               value="__gda_attr_numeric_precision"
               c:type="GDA_ATTRIBUTE_NUMERIC_PRECISION">
-      <doc xml:whitespace="preserve">The corresponding attribute is the number of significant digits of the 
object it refers to (value has a G_TYPE_INT type).</doc>
+      <doc xml:space="preserve">The corresponding attribute is the number of significant digits of the 
object it refers to (value has a G_TYPE_INT type).</doc>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <constant name="ATTRIBUTE_NUMERIC_SCALE"
               value="__gda_attr_numeric_scale"
               c:type="GDA_ATTRIBUTE_NUMERIC_SCALE">
-      <doc xml:whitespace="preserve">The corresponding attribute is the number of significant digits to the 
right of the decimal point of the object it refers to (value has a G_TYPE_INT type).</doc>
+      <doc xml:space="preserve">The corresponding attribute is the number of significant digits to the right 
of the decimal point of the object it refers to (value has a G_TYPE_INT type).</doc>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <constant name="ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN"
               value="__gda_attr_tnuchild"
               c:type="GDA_ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN">
-      <doc xml:whitespace="preserve">This attribute, if %TRUE specifies that a tree node may or may not have 
any children nodes (value has a G_TYPE_BOOLEAN type).</doc>
+      <doc xml:space="preserve">This attribute, if %TRUE specifies that a tree node may or may not have any 
children nodes (value has a G_TYPE_BOOLEAN type).</doc>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <record name="AttributesManager"
@@ -254,9 +254,9 @@ and/or use gtk-doc annotations.  -->
            glib:get-type="gda_batch_get_type"
            glib:type-struct="BatchClass">
       <constructor name="new" c:identifier="gda_batch_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaBatch object</doc>
+        <doc xml:space="preserve">Creates a new #GdaBatch object</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="Batch" c:type="GdaBatch*"/>
         </return-value>
       </constructor>
@@ -279,31 +279,31 @@ and/or use gtk-doc annotations.  -->
         </parameters>
       </virtual-method>
       <method name="add_statement" c:identifier="gda_batch_add_statement">
-        <doc xml:whitespace="preserve">Add @stmt to the list of statements managed by @batch. A 
#GdaStatement object can be
+        <doc xml:space="preserve">Add @stmt to the list of statements managed by @batch. A #GdaStatement 
object can be
 added multiple times to a #GdaBatch object.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="batch" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBatch object</doc>
+            <doc xml:space="preserve">a #GdaBatch object</doc>
             <type name="Batch" c:type="GdaBatch*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a statement to add to @batch's statements list</doc>
+            <doc xml:space="preserve">a statement to add to @batch's statements list</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
       </method>
       <method name="copy" c:identifier="gda_batch_copy">
-        <doc xml:whitespace="preserve">Copy constructor</doc>
+        <doc xml:space="preserve">Copy constructor</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a the new copy of @orig</doc>
+          <doc xml:space="preserve">a the new copy of @orig</doc>
           <type name="Batch" c:type="GdaBatch*"/>
         </return-value>
         <parameters>
           <instance-parameter name="orig" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBatch to make a copy of</doc>
+            <doc xml:space="preserve">a #GdaBatch to make a copy of</doc>
             <type name="Batch" c:type="GdaBatch*"/>
           </instance-parameter>
         </parameters>
@@ -311,72 +311,73 @@ added multiple times to a #GdaBatch object.</doc>
       <method name="get_parameters"
               c:identifier="gda_batch_get_parameters"
               throws="1">
-        <doc xml:whitespace="preserve">Get a new #GdaSet object which groups all the execution parameters
+        <doc xml:space="preserve">Get a new #GdaSet object which groups all the execution parameters
 which @batch needs for all the statements it includes.
 This new object is returned though @out_params.
 
 Note that if @batch does not need any parameter, then @out_params is set to %NULL.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="batch" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBatch object</doc>
+            <doc xml:space="preserve">a #GdaBatch object</doc>
             <type name="Batch" c:type="GdaBatch*"/>
           </instance-parameter>
           <parameter name="out_params"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store a new #GdaSet object, or %NULL</doc>
+            <doc xml:space="preserve">a place to store a new #GdaSet object, or %NULL</doc>
             <type name="Set" c:type="GdaSet**"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_statements" c:identifier="gda_batch_get_statements">
-        <doc xml:whitespace="preserve">Get a list of the #GdaStatement objects contained in @batch</doc>
+        <doc xml:space="preserve">Get a list of the #GdaStatement objects contained in @batch</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a list of #GdaStatement which should not be modified.</doc>
+          <doc xml:space="preserve">a list of #GdaStatement which should not be modified.</doc>
           <type name="GLib.SList" c:type="const GSList*">
             <type name="Statement"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="batch" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBatch object</doc>
+            <doc xml:space="preserve">a #GdaBatch object</doc>
             <type name="Batch" c:type="GdaBatch*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="remove_statement"
               c:identifier="gda_batch_remove_statement">
-        <doc xml:whitespace="preserve">Removes @stmt from the list of statements managed by @batch. If @stmt 
is present several
+        <doc xml:space="preserve">Removes @stmt from the list of statements managed by @batch. If @stmt is 
present several
 times in @batch's statements' list, then only the first one is removed.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="batch" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBatch object</doc>
+            <doc xml:space="preserve">a #GdaBatch object</doc>
             <type name="Batch" c:type="GdaBatch*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a statement to remove from @batch's statements list</doc>
+            <doc xml:space="preserve">a statement to remove from @batch's statements list</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
       </method>
       <method name="serialize" c:identifier="gda_batch_serialize">
-        <doc xml:whitespace="preserve">Creates a string representing the contents of @batch.</doc>
+        <doc xml:space="preserve">Creates a string representing the contents of @batch.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a string containing the serialized version of @batch</doc>
+          <doc xml:space="preserve">a string containing the serialized version of @batch</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="batch" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBatch object</doc>
+            <doc xml:space="preserve">a #GdaBatch object</doc>
             <type name="Batch" c:type="GdaBatch*"/>
           </instance-parameter>
         </parameters>
@@ -388,13 +389,13 @@ times in @batch's statements' list, then only the first one is removed.</doc>
         <type name="BatchPrivate" c:type="GdaBatchPrivate*"/>
       </field>
       <glib:signal name="changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a #GdaStatement in the @batch object 
changes</doc>
+        <doc xml:space="preserve">Gets emitted whenever a #GdaStatement in the @batch object changes</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="changed_stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the statement which has been changed</doc>
+            <doc xml:space="preserve">the statement which has been changed</doc>
             <type name="GObject.Object"/>
           </parameter>
         </parameters>
@@ -470,7 +471,7 @@ times in @batch's statements' list, then only the first one is removed.</doc>
         <type name="glong" c:type="glong"/>
       </field>
       <method name="to_string" c:identifier="gda_binary_to_string">
-        <doc xml:whitespace="preserve">Converts all the non printable characters of bin-&gt;data into the 
"\xyz" representation
+        <doc xml:space="preserve">Converts all the non printable characters of bin-&gt;data into the "\xyz" 
representation
 where "xyz" is the octal representation of the byte, and the '\' (backslash) character
 is converted to "\\". Printable characters (defined by g_ascii_isprint()) as well as newline
 character are not converted.
@@ -482,41 +483,43 @@ Use this function to get a representation as much readable by humans as possible
 chunk. Note that this function is internally called when transforming a binary value to
 a string for example when using g_value_transform() or gda_value_stringify().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string from @bin</doc>
+          <doc xml:space="preserve">a new string from @bin</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="bin" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a correctly filled @GdaBinary structure</doc>
+            <doc xml:space="preserve">a correctly filled @GdaBinary structure</doc>
             <type name="Binary" c:type="const GdaBinary*"/>
           </instance-parameter>
           <parameter name="maxlen" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a maximum len used to truncate, or %0 for no maximum length</doc>
+            <doc xml:space="preserve">a maximum len used to truncate, or %0 for no maximum length</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
         </parameters>
       </method>
       <function name="copy" c:identifier="gda_binary_copy">
-        <doc xml:whitespace="preserve">Creates a new #GdaBinary structure from an existing one.</doc>
+        <doc xml:space="preserve">Creates a new #GdaBinary structure from an existing one.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated #GdaBinary which contains a copy of information 
in @boxed.  Free-function: gda_binary_free</doc>
+          <doc xml:space="preserve">a newly allocated #GdaBinary which contains a copy of information in 
@boxed.
+
+Free-function: gda_binary_free</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
         <parameters>
           <parameter name="boxed" transfer-ownership="none">
-            <doc xml:whitespace="preserve">source to get a copy from.</doc>
+            <doc xml:space="preserve">source to get a copy from.</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </function>
       <function name="free" c:identifier="gda_binary_free">
-        <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBinary.</doc>
+        <doc xml:space="preserve">Deallocates all memory associated to the given #GdaBinary.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="boxed" transfer-ownership="full">
-            <doc xml:whitespace="preserve">#GdaBinary to free.</doc>
+            <doc xml:space="preserve">#GdaBinary to free.</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -527,71 +530,78 @@ a string for example when using g_value_transform() or gda_value_stringify().</d
             glib:type-name="GdaBlob"
             glib:get-type="gda_blob_get_type"
             c:symbol-prefix="blob">
-      <doc xml:whitespace="preserve">Represents some binary data, accessed through a #GdaBlobOp object.
+      <doc xml:space="preserve">Represents some binary data, accessed through a #GdaBlobOp object.
 @op is generally set up by database providers when giving access to an existing BLOB in
 a database, but can be modified if needed using gda_blob_set_op().</doc>
       <field name="data" writable="1">
+        <doc xml:space="preserve">data buffer, as a #GdaBinary</doc>
         <type name="Binary" c:type="GdaBinary"/>
       </field>
       <field name="op" writable="1">
+        <doc xml:space="preserve">a pointer to a #GdaBlopOp, or %NULL</doc>
         <type name="BlobOp" c:type="GdaBlobOp*"/>
       </field>
       <method name="set_op" c:identifier="gda_blob_set_op">
-        <doc xml:whitespace="preserve">correctly assigns @op to @blob</doc>
+        <doc xml:space="preserve">correctly assigns @op to @blob</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob value</doc>
+            <doc xml:space="preserve">a #GdaBlob value</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </instance-parameter>
-          <parameter name="op" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaBlobOp object, or %NULL</doc>
+          <parameter name="op"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaBlobOp object, or %NULL</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </parameter>
         </parameters>
       </method>
       <method name="to_string" c:identifier="gda_blob_to_string">
-        <doc xml:whitespace="preserve">Converts all the non printable characters of blob-&gt;data into the 
\xxx representation
+        <doc xml:space="preserve">Converts all the non printable characters of blob-&gt;data into the \xxx 
representation
 where xxx is the octal representation of the byte, and the '\' (backslash) character
 is converted to "\\".</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string from @blob</doc>
+          <doc xml:space="preserve">a new string from @blob</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a correctly filled @GdaBlob structure</doc>
+            <doc xml:space="preserve">a correctly filled @GdaBlob structure</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </instance-parameter>
           <parameter name="maxlen" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a maximum len used to truncate, or 0 for no maximum length</doc>
+            <doc xml:space="preserve">a maximum len used to truncate, or 0 for no maximum length</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
         </parameters>
       </method>
       <function name="copy" c:identifier="gda_blob_copy">
-        <doc xml:whitespace="preserve">Creates a new #GdaBlob structure from an existing one.</doc>
+        <doc xml:space="preserve">Creates a new #GdaBlob structure from an existing one.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated #GdaBlob which contains a copy of information in 
@boxed.  Free-function: gda_blob_free</doc>
+          <doc xml:space="preserve">a newly allocated #GdaBlob which contains a copy of information in 
@boxed.
+
+Free-function: gda_blob_free</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
         <parameters>
           <parameter name="boxed" transfer-ownership="none">
-            <doc xml:whitespace="preserve">source to get a copy from.</doc>
+            <doc xml:space="preserve">source to get a copy from.</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </function>
       <function name="free" c:identifier="gda_blob_free">
-        <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBlob.</doc>
+        <doc xml:space="preserve">Deallocates all memory associated to the given #GdaBlob.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="boxed" transfer-ownership="full">
-            <doc xml:whitespace="preserve">#GdaBlob to free.</doc>
+            <doc xml:space="preserve">#GdaBlob to free.</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -607,173 +617,183 @@ is converted to "\\".</doc>
            glib:type-struct="BlobOpClass">
       <virtual-method name="get_length" invoker="get_length">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the length of the blob in bytes. In case of error, -1 is returned 
and the provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
+          <doc xml:space="preserve">the length of the blob in bytes. In case of error, -1 is returned and the
+provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
+            <doc xml:space="preserve">an existing #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="read" invoker="read">
-        <doc xml:whitespace="preserve">Reads a chunk of bytes from the BLOB accessible through @op into 
@blob.</doc>
+        <doc xml:space="preserve">Reads a chunk of bytes from the BLOB accessible through @op into 
@blob.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of bytes actually read. In case of error, -1 is returned 
and the provider should have added an error to the connection.</doc>
+          <doc xml:space="preserve">the number of bytes actually read. In case of error, -1 is returned and 
the
+provider should have added an error to the connection.</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
           <parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+            <doc xml:space="preserve">a #GdaBlob to read data to</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </parameter>
           <parameter name="offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">offset to read from the start of the blob (starts at 0)</doc>
+            <doc xml:space="preserve">offset to read from the start of the blob (starts at 0)</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
           <parameter name="size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">maximum number of bytes to read.</doc>
+            <doc xml:space="preserve">maximum number of bytes to read.</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="write" invoker="write">
-        <doc xml:whitespace="preserve">Writes a chunk of bytes from a @blob to the BLOB accessible through 
@op, @blob is unchanged after
+        <doc xml:space="preserve">Writes a chunk of bytes from a @blob to the BLOB accessible through @op, 
@blob is unchanged after
 this call.
 
 If @blob has an associated #GdaBlobOp (ie. if @blob-&gt;op is not %NULL) then the data to be written
 using @op is the data fetched using @blob-&gt;op.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of bytes written. In case of error, -1 is returned and 
the provider should have added an error to the connection.</doc>
+          <doc xml:space="preserve">the number of bytes written. In case of error, -1 is returned and the
+provider should have added an error to the connection.</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
           <parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+            <doc xml:space="preserve">a #GdaBlob which contains the data to write</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </parameter>
           <parameter name="offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">offset to write from the start of the blob (starts at 0)</doc>
+            <doc xml:space="preserve">offset to write from the start of the blob (starts at 0)</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="write_all" invoker="write_all">
-        <doc xml:whitespace="preserve">Writes the whole contents of @blob into the blob manipulated by @op. 
If necessary the resulting
+        <doc xml:space="preserve">Writes the whole contents of @blob into the blob manipulated by @op. If 
necessary the resulting
 blob is truncated from its previous length.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE on success</doc>
+          <doc xml:space="preserve">TRUE on success</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
           <parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+            <doc xml:space="preserve">a #GdaBlob which contains the data to write</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <method name="get_length" c:identifier="gda_blob_op_get_length">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the length of the blob in bytes. In case of error, -1 is returned 
and the provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
+          <doc xml:space="preserve">the length of the blob in bytes. In case of error, -1 is returned and the
+provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an existing #GdaBlobOp</doc>
+            <doc xml:space="preserve">an existing #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="read" c:identifier="gda_blob_op_read">
-        <doc xml:whitespace="preserve">Reads a chunk of bytes from the BLOB accessible through @op into 
@blob.</doc>
+        <doc xml:space="preserve">Reads a chunk of bytes from the BLOB accessible through @op into 
@blob.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of bytes actually read. In case of error, -1 is returned 
and the provider should have added an error to the connection.</doc>
+          <doc xml:space="preserve">the number of bytes actually read. In case of error, -1 is returned and 
the
+provider should have added an error to the connection.</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlobOp</doc>
+            <doc xml:space="preserve">a #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
           <parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+            <doc xml:space="preserve">a #GdaBlob to read data to</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </parameter>
           <parameter name="offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">offset to read from the start of the blob (starts at 0)</doc>
+            <doc xml:space="preserve">offset to read from the start of the blob (starts at 0)</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
           <parameter name="size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">maximum number of bytes to read.</doc>
+            <doc xml:space="preserve">maximum number of bytes to read.</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
         </parameters>
       </method>
       <method name="read_all" c:identifier="gda_blob_op_read_all">
-        <doc xml:whitespace="preserve">Reads the whole contents of the blob manipulated by @op into 
@blob</doc>
+        <doc xml:space="preserve">Reads the whole contents of the blob manipulated by @op into @blob</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @blob-&gt;data contains the whole BLOB manipulated by 
@op</doc>
+          <doc xml:space="preserve">TRUE if @blob-&gt;data contains the whole BLOB manipulated by @op</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlobOp</doc>
+            <doc xml:space="preserve">a #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
           <parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+            <doc xml:space="preserve">a #GdaBlob to read data to</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </parameter>
         </parameters>
       </method>
       <method name="write" c:identifier="gda_blob_op_write">
-        <doc xml:whitespace="preserve">Writes a chunk of bytes from a @blob to the BLOB accessible through 
@op, @blob is unchanged after
+        <doc xml:space="preserve">Writes a chunk of bytes from a @blob to the BLOB accessible through @op, 
@blob is unchanged after
 this call.
 
 If @blob has an associated #GdaBlobOp (ie. if @blob-&gt;op is not %NULL) then the data to be written
 using @op is the data fetched using @blob-&gt;op.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of bytes written. In case of error, -1 is returned and 
the provider should have added an error to the connection.</doc>
+          <doc xml:space="preserve">the number of bytes written. In case of error, -1 is returned and the
+provider should have added an error to the connection.</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlobOp</doc>
+            <doc xml:space="preserve">a #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
           <parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+            <doc xml:space="preserve">a #GdaBlob which contains the data to write</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </parameter>
           <parameter name="offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">offset to write from the start of the blob (starts at 0)</doc>
+            <doc xml:space="preserve">offset to write from the start of the blob (starts at 0)</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
         </parameters>
       </method>
       <method name="write_all" c:identifier="gda_blob_op_write_all">
-        <doc xml:whitespace="preserve">Writes the whole contents of @blob into the blob manipulated by @op. 
If necessary the resulting
+        <doc xml:space="preserve">Writes the whole contents of @blob into the blob manipulated by @op. If 
necessary the resulting
 blob is truncated from its previous length.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE on success</doc>
+          <doc xml:space="preserve">TRUE on success</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlobOp</doc>
+            <doc xml:space="preserve">a #GdaBlobOp</doc>
             <type name="BlobOp" c:type="GdaBlobOp*"/>
           </instance-parameter>
           <parameter name="blob" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+            <doc xml:space="preserve">a #GdaBlob which contains the data to write</doc>
             <type name="Blob" c:type="GdaBlob*"/>
           </parameter>
         </parameters>
@@ -794,11 +814,13 @@ blob is truncated from its previous length.</doc>
       <field name="get_length">
         <callback name="get_length">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the length of the blob in bytes. In case of error, -1 is returned 
and the provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
+            <doc xml:space="preserve">the length of the blob in bytes. In case of error, -1 is returned and 
the
+provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
             <type name="glong" c:type="glong"/>
           </return-value>
           <parameters>
             <parameter name="op" transfer-ownership="none">
+              <doc xml:space="preserve">an existing #GdaBlobOp</doc>
               <type name="BlobOp" c:type="GdaBlobOp*"/>
             </parameter>
           </parameters>
@@ -807,23 +829,25 @@ blob is truncated from its previous length.</doc>
       <field name="read">
         <callback name="read">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of bytes actually read. In case of error, -1 is 
returned and the provider should have added an error to the connection.</doc>
+            <doc xml:space="preserve">the number of bytes actually read. In case of error, -1 is returned 
and the
+provider should have added an error to the connection.</doc>
             <type name="glong" c:type="glong"/>
           </return-value>
           <parameters>
             <parameter name="op" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaBlobOp</doc>
               <type name="BlobOp" c:type="GdaBlobOp*"/>
             </parameter>
             <parameter name="blob" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+              <doc xml:space="preserve">a #GdaBlob to read data to</doc>
               <type name="Blob" c:type="GdaBlob*"/>
             </parameter>
             <parameter name="offset" transfer-ownership="none">
-              <doc xml:whitespace="preserve">offset to read from the start of the blob (starts at 0)</doc>
+              <doc xml:space="preserve">offset to read from the start of the blob (starts at 0)</doc>
               <type name="glong" c:type="glong"/>
             </parameter>
             <parameter name="size" transfer-ownership="none">
-              <doc xml:whitespace="preserve">maximum number of bytes to read.</doc>
+              <doc xml:space="preserve">maximum number of bytes to read.</doc>
               <type name="glong" c:type="glong"/>
             </parameter>
           </parameters>
@@ -832,19 +856,21 @@ blob is truncated from its previous length.</doc>
       <field name="write">
         <callback name="write">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of bytes written. In case of error, -1 is returned and 
the provider should have added an error to the connection.</doc>
+            <doc xml:space="preserve">the number of bytes written. In case of error, -1 is returned and the
+provider should have added an error to the connection.</doc>
             <type name="glong" c:type="glong"/>
           </return-value>
           <parameters>
             <parameter name="op" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaBlobOp</doc>
               <type name="BlobOp" c:type="GdaBlobOp*"/>
             </parameter>
             <parameter name="blob" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+              <doc xml:space="preserve">a #GdaBlob which contains the data to write</doc>
               <type name="Blob" c:type="GdaBlob*"/>
             </parameter>
             <parameter name="offset" transfer-ownership="none">
-              <doc xml:whitespace="preserve">offset to write from the start of the blob (starts at 0)</doc>
+              <doc xml:space="preserve">offset to write from the start of the blob (starts at 0)</doc>
               <type name="glong" c:type="glong"/>
             </parameter>
           </parameters>
@@ -853,15 +879,16 @@ blob is truncated from its previous length.</doc>
       <field name="write_all">
         <callback name="write_all">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE on success</doc>
+            <doc xml:space="preserve">TRUE on success</doc>
             <type name="gboolean" c:type="gboolean"/>
           </return-value>
           <parameters>
             <parameter name="op" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaBlobOp</doc>
               <type name="BlobOp" c:type="GdaBlobOp*"/>
             </parameter>
             <parameter name="blob" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+              <doc xml:space="preserve">a #GdaBlob which contains the data to write</doc>
               <type name="Blob" c:type="GdaBlob*"/>
             </parameter>
           </parameters>
@@ -905,7 +932,7 @@ blob is truncated from its previous length.</doc>
            glib:type-struct="ColumnClass">
       <constructor name="new" c:identifier="gda_column_new">
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated #GdaColumn object.</doc>
+          <doc xml:space="preserve">a newly allocated #GdaColumn object.</doc>
           <type name="Column" c:type="GdaColumn*"/>
         </return-value>
       </constructor>
@@ -939,46 +966,47 @@ blob is truncated from its previous length.</doc>
         </parameters>
       </virtual-method>
       <method name="copy" c:identifier="gda_column_copy">
-        <doc xml:whitespace="preserve">Creates a new #GdaColumn object from an existing one.</doc>
+        <doc xml:space="preserve">Creates a new #GdaColumn object from an existing one.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated #GdaColumn with a copy of the data in 
@column.</doc>
+          <doc xml:space="preserve">a newly allocated #GdaColumn with a copy of the data
+in @column.</doc>
           <type name="Column" c:type="GdaColumn*"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column to get a copy from.</doc>
+            <doc xml:space="preserve">column to get a copy from.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_allow_null" c:identifier="gda_column_get_allow_null">
-        <doc xml:whitespace="preserve">Gets the 'allow null' flag of the given column.</doc>
+        <doc xml:space="preserve">Gets the 'allow null' flag of the given column.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">whether the given column allows null values or not (%TRUE or 
%FALSE).</doc>
+          <doc xml:space="preserve">whether the given column allows null values or not (%TRUE or 
%FALSE).</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_attribute" c:identifier="gda_column_get_attribute">
-        <doc xml:whitespace="preserve">Get the value associated to a named attribute.
+        <doc xml:space="preserve">Get the value associated to a named attribute.
 
 Attributes can have any name, but Libgda proposes some default names, see &lt;link 
linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has 
been set for @column</doc>
+          <doc xml:space="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been 
set for @column</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn</doc>
+            <doc xml:space="preserve">a #GdaColumn</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name as a string</doc>
+            <doc xml:space="preserve">attribute name as a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -986,24 +1014,24 @@ Attributes can have any name, but Libgda proposes some default names, see &lt;li
       <method name="get_auto_increment"
               c:identifier="gda_column_get_auto_increment">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">whether the given column is an auto incremented one (%TRUE or 
%FALSE).</doc>
+          <doc xml:space="preserve">whether the given column is an auto incremented one (%TRUE or 
%FALSE).</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_dbms_type" c:identifier="gda_column_get_dbms_type">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the database type of @column.</doc>
+          <doc xml:space="preserve">the database type of @column.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
@@ -1011,86 +1039,87 @@ Attributes can have any name, but Libgda proposes some default names, see &lt;li
       <method name="get_default_value"
               c:identifier="gda_column_get_default_value">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">@column's default value, as a #GValue object, or %NULL if column 
does not have a default value</doc>
+          <doc xml:space="preserve">@column's default value, as a #GValue object, or %NULL if column does 
not have a default value</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_description" c:identifier="gda_column_get_description">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the column's description, in any</doc>
+          <doc xml:space="preserve">the column's description, in any</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_g_type" c:identifier="gda_column_get_g_type">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of @column.</doc>
+          <doc xml:space="preserve">the type of @column.</doc>
           <type name="GType" c:type="GType"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_name" c:identifier="gda_column_get_name">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of @column.</doc>
+          <doc xml:space="preserve">the name of @column.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_position" c:identifier="gda_column_get_position">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the position of the column refer to in the containing data 
model.</doc>
+          <doc xml:space="preserve">the position of the column refer to in the
+containing data model.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="set_allow_null" c:identifier="gda_column_set_allow_null">
-        <doc xml:whitespace="preserve">Sets the 'allow null' flag of the given column.</doc>
+        <doc xml:space="preserve">Sets the 'allow null' flag of the given column.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="allow" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the given column should allows null values or not.</doc>
+            <doc xml:space="preserve">whether the given column should allows null values or not.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_attribute" c:identifier="gda_column_set_attribute">
-        <doc xml:whitespace="preserve">Set the value associated to a named attribute. The @attribute string 
is 'stolen' by this method, and
+        <doc xml:space="preserve">Set the value associated to a named attribute. The @attribute string is 
'stolen' by this method, and
 the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL,
 then the string will not be freed at all).
 
-Attributes can have any name, but Libgda proposes some default names, 
+Attributes can have any name, but Libgda proposes some default names,
 see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.
 
 If there is already an attribute named @attribute set, then its value is replaced with the new value (@value 
is
@@ -1111,139 +1140,144 @@ SELECT statement).</doc>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn</doc>
+            <doc xml:space="preserve">a #GdaColumn</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name as a static string</doc>
+            <doc xml:space="preserve">attribute name as a static string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GValue, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="destroy"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1"
                      scope="async">
-            <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
+            <doc xml:space="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_auto_increment"
               c:identifier="gda_column_set_auto_increment">
-        <doc xml:whitespace="preserve">Sets the auto increment flag for the given column.</doc>
+        <doc xml:space="preserve">Sets the auto increment flag for the given column.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="is_auto" transfer-ownership="none">
-            <doc xml:whitespace="preserve">auto increment status.</doc>
+            <doc xml:space="preserve">auto increment status.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_dbms_type" c:identifier="gda_column_set_dbms_type">
-        <doc xml:whitespace="preserve">Defines @column's database type</doc>
+        <doc xml:space="preserve">Defines @column's database type</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn</doc>
+            <doc xml:space="preserve">a #GdaColumn</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="dbms_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string</doc>
+            <doc xml:space="preserve">a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_default_value"
               c:identifier="gda_column_set_default_value">
-        <doc xml:whitespace="preserve">Sets @column's default #GValue.</doc>
+        <doc xml:space="preserve">Sets @column's default #GValue.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="default_value"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">default #GValue for the column</doc>
+            <doc xml:space="preserve">default #GValue for the column</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_description" c:identifier="gda_column_set_description">
-        <doc xml:whitespace="preserve">Sets the column's description</doc>
+        <doc xml:space="preserve">Sets the column's description</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="title" transfer-ownership="none">
-            <doc xml:whitespace="preserve">title name.</doc>
+            <doc xml:space="preserve">title name.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_g_type" c:identifier="gda_column_set_g_type">
-        <doc xml:whitespace="preserve">Sets the type of @column to @type.</doc>
+        <doc xml:space="preserve">Sets the type of @column to @type.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new type of @column.</doc>
+            <doc xml:space="preserve">the new type of @column.</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_name" c:identifier="gda_column_set_name">
-        <doc xml:whitespace="preserve">Sets the name of @column to @name.</doc>
+        <doc xml:space="preserve">Sets the name of @column to @name.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new name of @column.</doc>
+            <doc xml:space="preserve">the new name of @column.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_position" c:identifier="gda_column_set_position">
-        <doc xml:whitespace="preserve">Sets the position of the column refer to in the containing
+        <doc xml:space="preserve">Sets the position of the column refer to in the containing
 data model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaColumn.</doc>
+            <doc xml:space="preserve">a #GdaColumn.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </instance-parameter>
           <parameter name="position" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the wanted position of the column in the containing data 
model.</doc>
+            <doc xml:space="preserve">the wanted position of the column in the containing data model.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -1258,29 +1292,29 @@ data model.</doc>
         <type name="ColumnPrivate" c:type="GdaColumnPrivate*"/>
       </field>
       <glib:signal name="g-type-changed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted whenever @column's type has been changed</doc>
+        <doc xml:space="preserve">Gets emitted whenever @column's type has been changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="old_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column's previous type</doc>
+            <doc xml:space="preserve">the column's previous type</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
           <parameter name="new_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column's new type</doc>
+            <doc xml:space="preserve">the column's new type</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="name-changed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted whenever @column's name has been changed</doc>
+        <doc xml:space="preserve">Gets emitted whenever @column's name has been changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="old_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column's previous name</doc>
+            <doc xml:space="preserve">the column's previous name</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
         </parameters>
@@ -1365,41 +1399,41 @@ data model.</doc>
            glib:type-struct="ConfigClass">
       <function name="can_modify_system_config"
                 c:identifier="gda_config_can_modify_system_config">
-        <doc xml:whitespace="preserve">Tells if the global (system) configuration can be modified 
(considering
+        <doc xml:space="preserve">Tells if the global (system) configuration can be modified (considering
 system permissions and settings)</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if system-wide configuration can be modified</doc>
+          <doc xml:space="preserve">TRUE if system-wide configuration can be modified</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
       </function>
       <function name="define_dsn"
                 c:identifier="gda_config_define_dsn"
                 throws="1">
-        <doc xml:whitespace="preserve">Add or update a DSN from the definition in @info.
+        <doc xml:space="preserve">Add or update a DSN from the definition in @info.
 
 This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <parameter name="info" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to a filled GdaDsnInfo structure</doc>
+            <doc xml:space="preserve">a pointer to a filled GdaDsnInfo structure</doc>
             <type name="DsnInfo" c:type="const GdaDsnInfo*"/>
           </parameter>
         </parameters>
       </function>
       <function name="dsn_needs_authentication"
                 c:identifier="gda_config_dsn_needs_authentication">
-        <doc xml:whitespace="preserve">Tells if the data source identified as @dsn_name needs any 
authentication. If a &amp;lt;username&amp;gt;
+        <doc xml:space="preserve">Tells if the data source identified as @dsn_name needs any authentication. 
If a &amp;lt;username&amp;gt;
 and optionally a &amp;lt;password&amp;gt; are specified, they are ignored.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if an authentication is needed</doc>
+          <doc xml:space="preserve">TRUE if an authentication is needed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <parameter name="dsn_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a DSN, in the 
"[&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] ]&amp;lt;DSN&amp;gt;" format</doc>
+            <doc xml:space="preserve">the name of a DSN, in the 
"[&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] ]&amp;lt;DSN&amp;gt;" format</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -1410,100 +1444,100 @@ and optionally a &amp;lt;password&amp;gt; are specified, they are ignored.</doc>
         </return-value>
       </function>
       <function name="get" c:identifier="gda_config_get">
-        <doc xml:whitespace="preserve">Get a pointer to the global (unique) #GdaConfig object. This 
functions increments
+        <doc xml:space="preserve">Get a pointer to the global (unique) #GdaConfig object. This functions 
increments
 the reference count of the object, so you need to call g_object_unref() on it once finished.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a non %NULL pointer to the unique #GdaConfig</doc>
+          <doc xml:space="preserve">a non %NULL pointer to the unique #GdaConfig</doc>
           <type name="Config" c:type="GdaConfig*"/>
         </return-value>
       </function>
       <function name="get_dsn_info" c:identifier="gda_config_get_dsn_info">
-        <doc xml:whitespace="preserve">Get information about the DSN named @dsn_name. 
+        <doc xml:space="preserve">Get information about the DSN named @dsn_name.
 
 @dsn_name's format is "[&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] ]&amp;lt;DSN&amp;gt;" (if 
&amp;lt;username&amp;gt;
 and optionally &amp;lt;password&amp;gt; are provided, they are ignored). Also see the gda_dsn_split() utility
 function.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to read-only #GdaDsnInfo structure, or %NULL if not 
found</doc>
+          <doc xml:space="preserve">a pointer to read-only #GdaDsnInfo structure, or %NULL if not found</doc>
           <type name="DsnInfo" c:type="GdaDsnInfo*"/>
         </return-value>
         <parameters>
           <parameter name="dsn_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the DSN to look for</doc>
+            <doc xml:space="preserve">the name of the DSN to look for</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </function>
       <function name="get_dsn_info_at_index"
                 c:identifier="gda_config_get_dsn_info_at_index">
-        <doc xml:whitespace="preserve">Get a pointer to a read-only #GdaDsnInfo at the @index position</doc>
+        <doc xml:space="preserve">Get a pointer to a read-only #GdaDsnInfo at the @index position</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the pointer or %NULL if no DSN exists at position @index</doc>
+          <doc xml:space="preserve">the pointer or %NULL if no DSN exists at position @index</doc>
           <type name="DsnInfo" c:type="GdaDsnInfo*"/>
         </return-value>
         <parameters>
           <parameter name="index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an index</doc>
+            <doc xml:space="preserve">an index</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </function>
       <function name="get_dsn_info_index"
                 c:identifier="gda_config_get_dsn_info_index">
-        <doc xml:whitespace="preserve">Get the index (starting at 0) of the DSN named @dsn_name</doc>
+        <doc xml:space="preserve">Get the index (starting at 0) of the DSN named @dsn_name</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the index or -1 if not found</doc>
+          <doc xml:space="preserve">the index or -1 if not found</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <parameter name="dsn_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a DSN</doc>
+            <doc xml:space="preserve">a DSN</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </function>
       <function name="get_nb_dsn" c:identifier="gda_config_get_nb_dsn">
-        <doc xml:whitespace="preserve">Get the number of defined DSN</doc>
+        <doc xml:space="preserve">Get the number of defined DSN</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of defined DSN</doc>
+          <doc xml:space="preserve">the number of defined DSN</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
       </function>
       <function name="get_provider"
                 c:identifier="gda_config_get_provider"
                 throws="1">
-        <doc xml:whitespace="preserve">Get a pointer to the session-wide #GdaServerProvider for the
+        <doc xml:space="preserve">Get a pointer to the session-wide #GdaServerProvider for the
 provider named @provider_name. The caller must not call g_object_unref() on the
 returned object.
 
 This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the #GdaServerProvider, or %NULL if an error 
occurred</doc>
+          <doc xml:space="preserve">a pointer to the #GdaServerProvider, or %NULL if an error occurred</doc>
           <type name="ServerProvider" c:type="GdaServerProvider*"/>
         </return-value>
         <parameters>
           <parameter name="provider_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a database provider</doc>
+            <doc xml:space="preserve">a database provider</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </function>
       <function name="get_provider_info"
                 c:identifier="gda_config_get_provider_info">
-        <doc xml:whitespace="preserve">Get some information about the a database provider (adapter) 
named</doc>
+        <doc xml:space="preserve">Get some information about the a database provider (adapter) named</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to read-only #GdaProviderInfo structure, or %NULL if not 
found</doc>
+          <doc xml:space="preserve">a pointer to read-only #GdaProviderInfo structure, or %NULL if not 
found</doc>
           <type name="ProviderInfo" c:type="GdaProviderInfo*"/>
         </return-value>
         <parameters>
           <parameter name="provider_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a database provider</doc>
+            <doc xml:space="preserve">a database provider</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </function>
       <function name="list_dsn" c:identifier="gda_config_list_dsn">
-        <doc xml:whitespace="preserve">Get a #GdaDataModel representing all the configured DSN, and keeping 
itself up to date with
+        <doc xml:space="preserve">Get a #GdaDataModel representing all the configured DSN, and keeping 
itself up to date with
 the changes in the declared DSN.
 
 The returned data model is composed of the following columns:
@@ -1515,12 +1549,12 @@ The returned data model is composed of the following columns:
  &lt;listitem&gt;&lt;para&gt;Username if it exists&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+          <doc xml:space="preserve">a new #GdaDataModel</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
       </function>
       <function name="list_providers" c:identifier="gda_config_list_providers">
-        <doc xml:whitespace="preserve">Get a #GdaDataModel representing all the installed database providers.
+        <doc xml:space="preserve">Get a #GdaDataModel representing all the installed database providers.
 
 The returned data model is composed of the following columns:
 &lt;itemizedlist&gt;
@@ -1531,23 +1565,23 @@ The returned data model is composed of the following columns:
  &lt;listitem&gt;&lt;para&gt;File name of the plugin&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+          <doc xml:space="preserve">a new #GdaDataModel</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
       </function>
       <function name="remove_dsn"
                 c:identifier="gda_config_remove_dsn"
                 throws="1">
-        <doc xml:whitespace="preserve">Remove the DSN named @dsn_name.
+        <doc xml:space="preserve">Remove the DSN named @dsn_name.
 
 This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <parameter name="dsn_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the DSN to remove</doc>
+            <doc xml:space="preserve">the name of the DSN to remove</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -1605,11 +1639,11 @@ This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigEr
         </parameters>
       </virtual-method>
       <property name="system-filename" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">File to use for system-wide DSN list. When changed, the whole list of 
DSN will be reloaded.</doc>
+        <doc xml:space="preserve">File to use for system-wide DSN list. When changed, the whole list of DSN 
will be reloaded.</doc>
         <type name="utf8" c:type="gchar*"/>
       </property>
       <property name="user-filename" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">File to use for per-user DSN list. When changed, the whole list of 
DSN will be reloaded.</doc>
+        <doc xml:space="preserve">File to use for per-user DSN list. When changed, the whole list of DSN 
will be reloaded.</doc>
         <type name="utf8" c:type="gchar*"/>
       </property>
       <field name="object">
@@ -1619,49 +1653,49 @@ This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigEr
         <type name="ConfigPrivate" c:type="GdaConfigPrivate*"/>
       </field>
       <glib:signal name="dsn-added" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a new DSN has been defined</doc>
+        <doc xml:space="preserve">Gets emitted whenever a new DSN has been defined</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="new_dsn" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+            <doc xml:space="preserve">a #GdaDsnInfo</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="dsn-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a DSN's definition has been changed</doc>
+        <doc xml:space="preserve">Gets emitted whenever a DSN's definition has been changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="dsn" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+            <doc xml:space="preserve">a #GdaDsnInfo</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="dsn-removed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a DSN has been removed</doc>
+        <doc xml:space="preserve">Gets emitted whenever a DSN has been removed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="old_dsn" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+            <doc xml:space="preserve">a #GdaDsnInfo</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="dsn-to-be-removed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a DSN is about to be removed</doc>
+        <doc xml:space="preserve">Gets emitted whenever a DSN is about to be removed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="old_dsn" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+            <doc xml:space="preserve">a #GdaDsnInfo</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -1794,25 +1828,26 @@ This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigEr
                    c:identifier="gda_connection_new_from_dsn"
                    version="5.0.2"
                    throws="1">
-        <doc xml:whitespace="preserve">This function is similar to gda_connection_open_from_dsn(), except it 
does not actually open the
+        <doc xml:space="preserve">This function is similar to gda_connection_open_from_dsn(), except it does 
not actually open the
 connection, you have to open it using gda_connection_open().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL 
if there was an error.</doc>
+          <doc xml:space="preserve">a new #GdaConnection if connection opening was successful or %NULL if 
there was an error.</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
         <parameters>
           <parameter name="dsn" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data source name.</doc>
+            <doc xml:space="preserve">data source name.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="auth_string"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+            <doc xml:space="preserve">authentication string, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+            <doc xml:space="preserve">options for the connection (see #GdaConnectionOptions).</doc>
             <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
           </parameter>
         </parameters>
@@ -1821,31 +1856,33 @@ connection, you have to open it using gda_connection_open().</doc>
                    c:identifier="gda_connection_new_from_string"
                    version="5.0.2"
                    throws="1">
-        <doc xml:whitespace="preserve">This function is similar to gda_connection_open_from_string(), except 
it does not actually open the
+        <doc xml:space="preserve">This function is similar to gda_connection_open_from_string(), except it 
does not actually open the
 connection, you have to open it using gda_connection_open().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL 
if there was an error.</doc>
+          <doc xml:space="preserve">a new #GdaConnection if connection opening was successful or %NULL if 
there was an error.</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
         <parameters>
           <parameter name="provider_name"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">provider ID to connect to, or %NULL</doc>
+            <doc xml:space="preserve">provider ID to connect to, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="cnc_string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">connection string.</doc>
+            <doc xml:space="preserve">connection string.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="auth_string"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+            <doc xml:space="preserve">authentication string, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+            <doc xml:space="preserve">options for the connection (see #GdaConnectionOptions).</doc>
             <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
           </parameter>
         </parameters>
@@ -1858,44 +1895,45 @@ connection, you have to open it using gda_connection_open().</doc>
       <function name="open_from_dsn"
                 c:identifier="gda_connection_open_from_dsn"
                 throws="1">
-        <doc xml:whitespace="preserve">This function is the way of opening database connections with libgda, 
using a pre-defined data source (DSN),
+        <doc xml:space="preserve">This function is the way of opening database connections with libgda, 
using a pre-defined data source (DSN),
 see gda_config_define_dsn() for more information about how to define a DSN. If you don't want to define
 a DSN, it is possible to use gda_connection_open_from_string() instead of this method.
 
-The @dsn string must have the following format: "[&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] 
]&amp;lt;DSN&amp;gt;" 
+The @dsn string must have the following format: "[&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] 
]&amp;lt;DSN&amp;gt;"
 (if &amp;lt;username&amp;gt; and/or &amp;lt;password&amp;gt; are provided, and @auth_string is %NULL, then 
these username
-and passwords will be used). Note that if provided, &amp;lt;username&amp;gt; and &amp;lt;password&amp;gt; 
+and passwords will be used). Note that if provided, &amp;lt;username&amp;gt; and &amp;lt;password&amp;gt;
 must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
 
 The @auth_string can contain the authentication information for the server
-to accept the connection. It is a string containing semi-colon seperated named value, usually 
+to accept the connection. It is a string containing semi-colon seperated named value, usually
 like "USERNAME=...;PASSWORD=..." where the ... are replaced by actual values. Note that each
 name and value must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
 
 The actual named parameters required depend on the provider being used, and that list is available
 as the &lt;parameter&gt;auth_params&lt;/parameter&gt; member of the #GdaProviderInfo structure for each 
installed
-provider (use gda_config_get_provider_info() to get it). Also one can use the "gda-sql-5.0 -L" command to 
+provider (use gda_config_get_provider_info() to get it). Also one can use the "gda-sql-5.0 -L" command to
 list the possible named parameters.
 
-This method may fail with a GDA_CONNECTION_ERROR domain error (see the #GdaConnectionError error codes) 
+This method may fail with a GDA_CONNECTION_ERROR domain error (see the #GdaConnectionError error codes)
 or a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL 
if there was an error.</doc>
+          <doc xml:space="preserve">a new #GdaConnection if connection opening was successful or %NULL if 
there was an error.</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
         <parameters>
           <parameter name="dsn" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data source name.</doc>
+            <doc xml:space="preserve">data source name.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="auth_string"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+            <doc xml:space="preserve">authentication string, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+            <doc xml:space="preserve">options for the connection (see #GdaConnectionOptions).</doc>
             <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
           </parameter>
         </parameters>
@@ -1903,11 +1941,11 @@ or a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
       <function name="open_from_string"
                 c:identifier="gda_connection_open_from_string"
                 throws="1">
-        <doc xml:whitespace="preserve">Opens a connection given a provider ID and a connection string. This
+        <doc xml:space="preserve">Opens a connection given a provider ID and a connection string. This
 allows applications to open connections without having to create
 a data source (DSN) in the configuration. The format of @cnc_string is
 similar to PostgreSQL and MySQL connection strings. It is a semicolumn-separated
-series of &amp;lt;key&amp;gt;=&amp;lt;value&amp;gt; pairs, where each key and value are encoded as per RFC 
1738, 
+series of &amp;lt;key&amp;gt;=&amp;lt;value&amp;gt; pairs, where each key and value are encoded as per RFC 
1738,
 see gda_rfc1738_encode() for more information.
 
 The possible keys depend on the provider, the "gda-sql-5.0 -L" command
@@ -1916,7 +1954,7 @@ can be used to list the actual keys for each installed database provider.
 For example the connection string to open an SQLite connection to a database
 file named "my_data.db" in the current directory would be 
&lt;constant&gt;"DB_DIR=.;DB_NAME=my_data"&lt;/constant&gt;.
 
-The @cnc_string string must have the following format: 
+The @cnc_string string must have the following format:
 "[&amp;lt;provider&amp;gt;://][&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] 
]&amp;lt;connection_params&amp;gt;"
 (if &amp;lt;username&amp;gt; and/or &amp;lt;password&amp;gt; are provided, and @auth_string is %NULL, then 
these username
 and passwords will be used, and if &amp;lt;provider&amp;gt; is provided and @provider_name is %NULL then this
@@ -1924,7 +1962,7 @@ provider will be used). Note that if provided, &amp;lt;username&amp;gt;, &amp;lt
 must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
 
 The @auth_string must contain the authentication information for the server
-to accept the connection. It is a string containing semi-colon seperated named values, usually 
+to accept the connection. It is a string containing semi-colon seperated named values, usually
 like "USERNAME=...;PASSWORD=..." where the ... are replaced by actual values. Note that each
 name and value must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
 
@@ -1938,62 +1976,67 @@ respect the "&amp;lt;provider_name&amp;gt;://&amp;lt;real cnc string&amp;gt;" fo
 and the real connection string will be extracted from that string (note that if @provider_name
 is not %NULL then it will still be used as the provider ID).\
 
-This method may fail with a GDA_CONNECTION_ERROR domain error (see the #GdaConnectionError error codes) 
+This method may fail with a GDA_CONNECTION_ERROR domain error (see the #GdaConnectionError error codes)
 or a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL 
if there was an error.</doc>
+          <doc xml:space="preserve">a new #GdaConnection if connection opening was successful or %NULL if 
there was an error.</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
         <parameters>
           <parameter name="provider_name"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">provider ID to connect to, or %NULL</doc>
+            <doc xml:space="preserve">provider ID to connect to, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="cnc_string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">connection string.</doc>
+            <doc xml:space="preserve">connection string.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="auth_string"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+            <doc xml:space="preserve">authentication string, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+            <doc xml:space="preserve">options for the connection (see #GdaConnectionOptions).</doc>
             <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
           </parameter>
         </parameters>
       </function>
       <function name="open_sqlite" c:identifier="gda_connection_open_sqlite">
-        <doc xml:whitespace="preserve">Opens an SQLite connection even if the SQLite provider is not 
installed,
+        <doc xml:space="preserve">Opens an SQLite connection even if the SQLite provider is not installed,
 to be used by database providers which need a temporary database to store
 some information.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaConnection, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaConnection, or %NULL if an error occurred</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
         <parameters>
-          <parameter name="directory" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the directory the database file will be in, or %NULL for the 
default TMP directory</doc>
+          <parameter name="directory"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the directory the database file will be in, or %NULL for the default 
TMP directory</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the database file name</doc>
+            <doc xml:space="preserve">the database file name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="auto_unlink" transfer-ownership="none">
-            <doc xml:whitespace="preserve">if %TRUE, then the database file will be removed afterwards</doc>
+            <doc xml:space="preserve">if %TRUE, then the database file will be removed afterwards</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
       </function>
       <function name="string_split" c:identifier="gda_connection_string_split">
-        <doc xml:whitespace="preserve">Extract the provider, connection parameters, username and password 
from @string. 
+        <doc xml:space="preserve">Extract the provider, connection parameters, username and password from 
@string.
 in @string, the various parts are strings
-which are expected to be encoded using an RFC 1738 compliant encoding. If they are specified, 
+which are expected to be encoded using an RFC 1738 compliant encoding. If they are specified,
 the returned provider, username and password strings are correctly decoded.
 
 For example all the following connection strings:
@@ -2020,23 +2063,26 @@ out_password: "pass"]]&gt;&lt;/programlisting&gt;</doc>
         </return-value>
         <parameters>
           <parameter name="string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string in the 
"[&amp;lt;provider&amp;gt;://][&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] 
]&amp;lt;connection_params&amp;gt;" form</doc>
+            <doc xml:space="preserve">a string in the 
"[&amp;lt;provider&amp;gt;://][&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] 
]&amp;lt;connection_params&amp;gt;" form</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="out_cnc_params" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store the new string containing the 
&amp;lt;connection_params&amp;gt; part</doc>
+            <doc xml:space="preserve">a place to store the new string containing the 
&amp;lt;connection_params&amp;gt; part</doc>
             <type name="utf8" c:type="gchar**"/>
           </parameter>
           <parameter name="out_provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store the new string containing the 
&amp;lt;provider&amp;gt; part</doc>
+            <doc xml:space="preserve">a place to store the new string containing the 
&amp;lt;provider&amp;gt; part</doc>
             <type name="utf8" c:type="gchar**"/>
           </parameter>
           <parameter name="out_username" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store the new string containing the 
&amp;lt;username&amp;gt; part</doc>
+            <doc xml:space="preserve">a place to store the new string containing the 
&amp;lt;username&amp;gt; part</doc>
             <type name="utf8" c:type="gchar**"/>
           </parameter>
-          <parameter name="out_password" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store the new string containing the 
&amp;lt;password&amp;gt; part</doc>
+          <parameter name="out_password"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a place to store the new string containing the 
&amp;lt;password&amp;gt; part, or %NULL</doc>
             <type name="utf8" c:type="gchar**"/>
           </parameter>
         </parameters>
@@ -2105,7 +2151,7 @@ out_password: "pass"]]&gt;&lt;/programlisting&gt;</doc>
         </parameters>
       </virtual-method>
       <method name="add_event" c:identifier="gda_connection_add_event">
-        <doc xml:whitespace="preserve">Adds an event to the given connection. This function is usually
+        <doc xml:space="preserve">Adds an event to the given connection. This function is usually
 called by providers, to inform clients of events that happened
 during some operation.
 
@@ -2120,11 +2166,11 @@ WARNING: the reference to the @event object is stolen by this function!</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="event" transfer-ownership="full">
-            <doc xml:whitespace="preserve">is stored internally, so you don't need to unref it.</doc>
+            <doc xml:space="preserve">is stored internally, so you don't need to unref it.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </parameter>
         </parameters>
@@ -2132,31 +2178,31 @@ WARNING: the reference to the @event object is stolen by this function!</doc>
       <method name="add_event_string"
               c:identifier="gda_connection_add_event_string"
               introspectable="0">
-        <doc xml:whitespace="preserve">Adds a new error to the given connection object. This is just a 
convenience
+        <doc xml:space="preserve">Adds a new error to the given connection object. This is just a convenience
 function that simply creates a #GdaConnectionEvent and then calls
 #gda_server_connection_add_error.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a new #GdaConnectionEvent object, however the caller does not hold 
a reference to the returned object, and if need be the caller must call g_object_ref() on it.</doc>
+          <doc xml:space="preserve">a new #GdaConnectionEvent object, however the caller does not hold a 
reference to the returned object, and if need be the caller must call g_object_ref() on it.</doc>
           <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a format string (see the printf(3) documentation).</doc>
+            <doc xml:space="preserve">a format string (see the printf(3) documentation).</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg2" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">the arguments to insert in the error message.</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
       <method name="add_prepared_statement"
               c:identifier="gda_connection_add_prepared_statement">
-        <doc xml:whitespace="preserve">Declares that @prepared_stmt is a prepared statement object 
associated to @gda_stmt within the connection
+        <doc xml:space="preserve">Declares that @prepared_stmt is a prepared statement object associated to 
@gda_stmt within the connection
 (meaning the connection increments the reference counter of @prepared_stmt).
 
 If @gda_stmt changes or is destroyed, the the association will be lost and the connection will lose the
@@ -2166,15 +2212,15 @@ reference it has on @prepared_stmt.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="gda_stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
           <parameter name="prepared_stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a prepared statement object (as a #GdaPStmt object, or more 
likely a descendant)</doc>
+            <doc xml:space="preserve">a prepared statement object (as a #GdaPStmt object, or more likely a 
descendant)</doc>
             <type name="PStmt" c:type="GdaPStmt*"/>
           </parameter>
         </parameters>
@@ -2182,18 +2228,21 @@ reference it has on @prepared_stmt.</doc>
       <method name="add_savepoint"
               c:identifier="gda_connection_add_savepoint"
               throws="1">
-        <doc xml:whitespace="preserve">Adds a SAVEPOINT named @name.</doc>
+        <doc xml:space="preserve">Adds a SAVEPOINT named @name.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">name of the savepoint to add</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">name of the savepoint to add</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -2202,20 +2251,20 @@ reference it has on @prepared_stmt.</doc>
               c:identifier="gda_connection_async_cancel"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Requests that a task be cancelled. This operation may of may not have 
any effect
+        <doc xml:space="preserve">Requests that a task be cancelled. This operation may of may not have any 
effect
 depending on the task's status, even if it returns %TRUE. If it returns %FALSE,
 then the task has not been cancelled.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="task_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a task ID returned by 
gda_connection_async_statement_execute()</doc>
+            <doc xml:space="preserve">a task ID returned by gda_connection_async_statement_execute()</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
         </parameters>
@@ -2224,7 +2273,7 @@ then the task has not been cancelled.</doc>
               c:identifier="gda_connection_async_fetch_result"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Use this method to obtain the result of the execution of a statement 
which has been executed asynchronously by
+        <doc xml:space="preserve">Use this method to obtain the result of the execution of a statement which 
has been executed asynchronously by
 calling gda_connection_async_statement_execute(). This function is non locking and will return %NULL (and no
 error will be set) if the statement has not been executed yet.
 
@@ -2232,24 +2281,25 @@ If the statement has been executed, this method returns the same value as gda_co
 would have if the statement had been
 executed synchronously.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GObject, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a #GObject, or %NULL if an error occurred</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="task_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a task ID returned by 
gda_connection_async_statement_execute()</doc>
+            <doc xml:space="preserve">a task ID returned by gda_connection_async_statement_execute()</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
           <parameter name="last_insert_row"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store a new #GdaSet object which contains the values 
of the last inserted row, or %NULL</doc>
+            <doc xml:space="preserve">a place to store a new #GdaSet object which contains the values of the 
last inserted row, or %NULL</doc>
             <type name="Set" c:type="GdaSet**"/>
           </parameter>
         </parameters>
@@ -2258,7 +2308,7 @@ executed synchronously.</doc>
               c:identifier="gda_connection_async_statement_execute"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">This method is similar to gda_connection_statement_execute() but is 
asynchronous as it method returns
+        <doc xml:space="preserve">This method is similar to gda_connection_statement_execute() but is 
asynchronous as it method returns
 immediately with a task ID. It's up to the caller to use gda_connection_async_fetch_result() regularly to 
check
 if the statement's execution is finished.
 
@@ -2279,34 +2329,41 @@ Note that for asynchronous calls to succeed, it is gererally necessary to specif
 in which asynchronous calls are made (failing to use this flag make the asynchronous call dependant on the 
database
 provider implementation and at the moment none support this feature).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a task ID, or 0 if an error occurred (not an error regarding @stmt 
itself as its execution has not yet started but any other error)</doc>
+          <doc xml:space="preserve">a task ID, or 0 if an error occurred (not an error regarding @stmt 
itself as its execution has not yet started
+but any other error)</doc>
           <type name="guint" c:type="guint"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="model_usage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">in the case where @stmt is a SELECT statement, specifies how the 
returned data model will be used</doc>
+            <doc xml:space="preserve">in the case where @stmt is a SELECT statement, specifies how the 
returned data model will be used</doc>
             <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
           </parameter>
-          <parameter name="col_types" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array of GType to request each returned #GdaDataModel's 
column's GType, terminated with the G_TYPE_NONE</doc>
+          <parameter name="col_types"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array of GType to request each returned #GdaDataModel's column's 
GType, terminated with the G_TYPE_NONE</doc>
             <array zero-terminated="0" c:type="GType*">
               <type name="GType" c:type="GType"/>
             </array>
           </parameter>
           <parameter name="need_last_insert_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if the values of the last interted row must be computed</doc>
+            <doc xml:space="preserve">TRUE if the values of the last interted row must be computed</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -2314,7 +2371,7 @@ provider implementation and at the moment none support this feature).</doc>
       <method name="batch_execute"
               c:identifier="gda_connection_batch_execute"
               throws="1">
-        <doc xml:whitespace="preserve">Executes all the statements contained in @batch (in the order in 
which they were added to @batch), and
+        <doc xml:space="preserve">Executes all the statements contained in @batch (in the order in which 
they were added to @batch), and
 returns a list of #GObject objects, at most one #GObject for each statement; see 
gda_connection_statement_execute()
 for details about the returned objects.
 
@@ -2322,26 +2379,29 @@ If one of the statement fails, then none of the subsequent statement will be exe
 the list of #GObject created by the correct execution of the previous statements. If a transaction is 
required,
 then it should be started before calling this method.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new list of #GObject objects</doc>
+          <doc xml:space="preserve">a new list of #GObject objects</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="GObject.Object"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="batch" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaBatch object which contains all the statements to 
execute</doc>
+            <doc xml:space="preserve">a #GdaBatch object which contains all the statements to execute</doc>
             <type name="Batch" c:type="GdaBatch*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_batch_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_batch_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="model_usage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">specifies how the returned data model(s) will be used, as a 
#GdaStatementModelUsage enum</doc>
+            <doc xml:space="preserve">specifies how the returned data model(s) will be used, as a 
#GdaStatementModelUsage enum</doc>
             <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
           </parameter>
         </parameters>
@@ -2349,27 +2409,31 @@ then it should be started before calling this method.</doc>
       <method name="begin_transaction"
               c:identifier="gda_connection_begin_transaction"
               throws="1">
-        <doc xml:whitespace="preserve">Starts a transaction on the data source, identified by the
+        <doc xml:space="preserve">Starts a transaction on the data source, identified by the
 @name parameter.
 
 Before starting a transaction, you can check whether the underlying
 provider does support transactions or not by using the
 gda_connection_supports_feature() function.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the transaction was started successfully, %FALSE 
otherwise.</doc>
+          <doc xml:space="preserve">%TRUE if the transaction was started successfully, %FALSE
+otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the name of the transation to start, or %NULL</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the name of the transation to start, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="level" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested transaction level 
(%GDA_TRANSACTION_ISOLATION_UNKNOWN if not specified)</doc>
+            <doc xml:space="preserve">the requested transaction level (%GDA_TRANSACTION_ISOLATION_UNKNOWN if 
not specified)</doc>
             <type name="TransactionIsolation"
                   c:type="GdaTransactionIsolation"/>
           </parameter>
@@ -2377,40 +2441,40 @@ gda_connection_supports_feature() function.</doc>
       </method>
       <method name="clear_events_list"
               c:identifier="gda_connection_clear_events_list">
-        <doc xml:whitespace="preserve">This function lets you clear the list of #GdaConnectionEvent's of the
+        <doc xml:space="preserve">This function lets you clear the list of #GdaConnectionEvent's of the
 given connection.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="close" c:identifier="gda_connection_close">
-        <doc xml:whitespace="preserve">Closes the connection to the underlying data source, but first emits 
the 
+        <doc xml:space="preserve">Closes the connection to the underlying data source, but first emits the
 "conn-to-close" signal.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="close_no_warning"
               c:identifier="gda_connection_close_no_warning">
-        <doc xml:whitespace="preserve">Closes the connection to the underlying data source, without emiting 
any warning signal.</doc>
+        <doc xml:space="preserve">Closes the connection to the underlying data source, without emiting any 
warning signal.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
@@ -2418,19 +2482,23 @@ given connection.</doc>
       <method name="commit_transaction"
               c:identifier="gda_connection_commit_transaction"
               throws="1">
-        <doc xml:whitespace="preserve">Commits the given transaction to the backend database. You need to 
call
+        <doc xml:space="preserve">Commits the given transaction to the backend database. You need to call
 gda_connection_begin_transaction() first.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the transaction was finished successfully, %FALSE 
otherwise.</doc>
+          <doc xml:space="preserve">%TRUE if the transaction was finished successfully,
+%FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the name of the transation to commit, or %NULL</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the name of the transation to commit, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -2438,58 +2506,62 @@ gda_connection_begin_transaction() first.</doc>
       <method name="create_operation"
               c:identifier="gda_connection_create_operation"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which can be modified in 
order 
+        <doc xml:space="preserve">Creates a new #GdaServerOperation object which can be modified in order
 to perform the type type of action. It is a wrapper around the gda_server_provider_create_operation()
 method.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the connection's 
provider does not support the @type type of operation or if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaServerOperation object, or %NULL in the connection's provider 
does not support the @type type
+of operation or if an error occurred</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of operation requested</doc>
+            <doc xml:space="preserve">the type of operation requested</doc>
             <type name="ServerOperationType" c:type="GdaServerOperationType"/>
           </parameter>
-          <parameter name="options" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an optional list of parameters</doc>
+          <parameter name="options"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an optional list of parameters</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </method>
       <method name="create_parser" c:identifier="gda_connection_create_parser">
-        <doc xml:whitespace="preserve">Creates a new parser object able to parse the SQL dialect understood 
by @cnc. 
-If the #GdaServerProvider object internally used by @cnc does not have its own parser, 
+        <doc xml:space="preserve">Creates a new parser object able to parse the SQL dialect understood by 
@cnc.
+If the #GdaServerProvider object internally used by @cnc does not have its own parser,
 then %NULL is returned, and a general SQL parser can be obtained
 using gda_sql_parser_new().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL</doc>
+          <doc xml:space="preserve">a new #GdaSqlParser object, or %NULL</doc>
           <type name="SqlParser" c:type="GdaSqlParser*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="del_prepared_statement"
               c:identifier="gda_connection_del_prepared_statement">
-        <doc xml:whitespace="preserve">Removes any prepared statement associated to @gda_stmt in @cnc: this 
undoes what
+        <doc xml:space="preserve">Removes any prepared statement associated to @gda_stmt in @cnc: this 
undoes what
 gda_connection_add_prepared_statement() does.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="gda_stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
@@ -2498,29 +2570,29 @@ gda_connection_add_prepared_statement() does.</doc>
               c:identifier="gda_connection_delete_row_from_table"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">This is a convenience function, which creates a DELETE statement and 
executes it using the values
+        <doc xml:space="preserve">This is a convenience function, which creates a DELETE statement and 
executes it using the values
 provided. It internally relies on variables which makes it immune to SQL injection problems.
 
 The equivalent SQL command is: DELETE FROM &amp;lt;table&amp;gt; WHERE &amp;lt;condition_column_name&amp;gt; 
= &amp;lt;condition_value&amp;gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+          <doc xml:space="preserve">TRUE if no error occurred, FALSE otherwise</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the table's name with the row's values to be updated</doc>
+            <doc xml:space="preserve">the table's name with the row's values to be updated</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="condition_column_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the column to used in the WHERE condition clause</doc>
+            <doc xml:space="preserve">the name of the column to used in the WHERE condition clause</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="condition_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the @condition_column_type's GType</doc>
+            <doc xml:space="preserve">the @condition_column_type's GType</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
         </parameters>
@@ -2528,18 +2600,21 @@ The equivalent SQL command is: DELETE FROM &amp;lt;table&amp;gt; WHERE &amp;lt;c
       <method name="delete_savepoint"
               c:identifier="gda_connection_delete_savepoint"
               throws="1">
-        <doc xml:whitespace="preserve">Delete the SAVEPOINT named @name when not used anymore.</doc>
+        <doc xml:space="preserve">Delete the SAVEPOINT named @name when not used anymore.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">name of the savepoint to delete</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">name of the savepoint to delete</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -2548,19 +2623,19 @@ The equivalent SQL command is: DELETE FROM &amp;lt;table&amp;gt; WHERE &amp;lt;c
               c:identifier="gda_connection_execute_non_select_command"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">This is a convenience function to execute a SQL command over the 
opened connection. For the
+        <doc xml:space="preserve">This is a convenience function to execute a SQL command over the opened 
connection. For the
 returned value, see gda_connection_statement_execute_non_select()'s documentation.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of rows affected or -1, or -2</doc>
+          <doc xml:space="preserve">the number of rows affected or -1, or -2</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a query statement that must not begin with "SELECT"</doc>
+            <doc xml:space="preserve">a query statement that must not begin with "SELECT"</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -2569,94 +2644,147 @@ returned value, see gda_connection_statement_execute_non_select()'s documentatio
               c:identifier="gda_connection_execute_select_command"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">Execute a SQL SELECT command over an opened connection.</doc>
+        <doc xml:space="preserve">Execute a SQL SELECT command over an opened connection.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel if successful, %NULL otherwise</doc>
+          <doc xml:space="preserve">a new #GdaDataModel if successful, %NULL otherwise</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a query statement that must begin with "SELECT"</doc>
+            <doc xml:space="preserve">a query statement that must begin with "SELECT"</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_authentication"
               c:identifier="gda_connection_get_authentication">
-        <doc xml:whitespace="preserve">Gets the user name used to open this connection.</doc>
+        <doc xml:space="preserve">Gets the user name used to open this connection.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the user name.</doc>
+          <doc xml:space="preserve">the user name.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_cnc_string"
               c:identifier="gda_connection_get_cnc_string">
-        <doc xml:whitespace="preserve">Gets the connection string used to open this connection.
+        <doc xml:space="preserve">Gets the connection string used to open this connection.
 
 The connection string is the string sent over to the underlying
 database provider, which describes the parameters to be used
 to open a connection on the underlying data source.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the connection string used when opening the connection.</doc>
+          <doc xml:space="preserve">the connection string used when opening the connection.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
+            <type name="Connection" c:type="GdaConnection*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_date_format"
+              c:identifier="gda_connection_get_date_format"
+              version="5.2"
+              throws="1">
+        <doc xml:space="preserve">This function allows you to determine the actual format for the date 
values.</doc>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="cnc" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
+          <parameter name="out_first"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full"
+                     optional="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the place to store the first part of the date, or %NULL</doc>
+            <type name="GLib.DateDMY" c:type="GDateDMY*"/>
+          </parameter>
+          <parameter name="out_second"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full"
+                     optional="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the place to store the second part of the date, or %NULL</doc>
+            <type name="GLib.DateDMY" c:type="GDateDMY*"/>
+          </parameter>
+          <parameter name="out_third"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full"
+                     optional="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the place to store the third part of the date, or %NULL</doc>
+            <type name="GLib.DateDMY" c:type="GDateDMY*"/>
+          </parameter>
+          <parameter name="out_sep"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full"
+                     optional="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the place to store the separator (used between year, month and day 
parts) part of the date, or %NULL</doc>
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
         </parameters>
       </method>
       <method name="get_dsn" c:identifier="gda_connection_get_dsn">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the data source name the connection object is connected to.</doc>
+          <doc xml:space="preserve">the data source name the connection object is connected
+to.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_events" c:identifier="gda_connection_get_events">
-        <doc xml:whitespace="preserve">Retrieves a list of the last errors occurred during the connection. 
The returned list is
+        <doc xml:space="preserve">Retrieves a list of the last errors occurred during the connection. The 
returned list is
 chronologically ordered such as that the most recent event is the #GdaConnectionEvent of the first node.
 
 Warning: the @cnc object may change the list if connection events occur</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GList of #GdaConnectionEvent objects (the list should not be 
modified)</doc>
+          <doc xml:space="preserve">a #GList of #GdaConnectionEvent objects (the list should not be 
modified)</doc>
           <type name="GLib.List" c:type="const GList*">
             <type name="ConnectionEvent"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection.</doc>
+            <doc xml:space="preserve">a #GdaConnection.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_meta_store"
               c:identifier="gda_connection_get_meta_store">
-        <doc xml:whitespace="preserve">Get or initializes the #GdaMetaStore associated to @cnc</doc>
+        <doc xml:space="preserve">Get or initializes the #GdaMetaStore associated to @cnc</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+          <doc xml:space="preserve">a #GdaMetaStore object</doc>
           <type name="MetaStore" c:type="GdaMetaStore*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
@@ -2664,7 +2792,7 @@ Warning: the @cnc object may change the list if connection events occur</doc>
       <method name="get_meta_store_data"
               c:identifier="gda_connection_get_meta_store_data"
               introspectable="0">
-        <doc xml:whitespace="preserve">Retrieves data stored in @cnc's associated #GdaMetaStore object. This 
method is useful
+        <doc xml:space="preserve">Retrieves data stored in @cnc's associated #GdaMetaStore object. This 
method is useful
 to easily get some information about the meta-data associated to @cnc, such as the list of
 tables, views, and other database objects.
 
@@ -2683,51 +2811,54 @@ See the &lt;link linkend="information_schema:sql_identifiers"&gt;
 meta data section about SQL identifiers&lt;/link&gt; for more information, and the documentation about the
 gda_sql_identifier_quote() function which will be most useful.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaDataModel containing the data required. The caller is 
responsible for freeing the returned model using g_object_unref().</doc>
+          <doc xml:space="preserve">a #GdaDataModel containing the data required. The caller is responsible
+for freeing the returned model using g_object_unref().</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="meta_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">describes which data to get.</doc>
+            <doc xml:space="preserve">describes which data to get.</doc>
             <type name="ConnectionMetaType" c:type="GdaConnectionMetaType"/>
           </parameter>
           <parameter name="error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+            <doc xml:space="preserve">a place to store errors, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
           <parameter name="nb_filters" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of filters in the @... argument</doc>
+            <doc xml:space="preserve">the number of filters in the @... argument</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="arg4" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a list of (filter name (gchar *), filter value (GValue*)) pairs 
specifying
+the filter to apply to the returned data model's contents (there must be @nb_filters pairs)</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
       <method name="get_meta_store_data_v"
               c:identifier="gda_connection_get_meta_store_data_v"
               throws="1">
-        <doc xml:whitespace="preserve">see #gda_connection_get_meta_store_data</doc>
+        <doc xml:space="preserve">see #gda_connection_get_meta_store_data</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaDataModel containing the data required. The caller is 
responsible for freeing the returned model using g_object_unref().</doc>
+          <doc xml:space="preserve">a #GdaDataModel containing the data required. The caller is responsible
+for freeing the returned model using g_object_unref().</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="meta_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">describes which data to get.</doc>
+            <doc xml:space="preserve">describes which data to get.</doc>
             <type name="ConnectionMetaType" c:type="GdaConnectionMetaType"/>
           </parameter>
           <parameter name="filters" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GList of #GdaHolder objects</doc>
+            <doc xml:space="preserve">a #GList of #GdaHolder objects</doc>
             <type name="GLib.List" c:type="GList*">
               <type name="Holder"/>
             </type>
@@ -2735,77 +2866,77 @@ gda_sql_identifier_quote() function which will be most useful.</doc>
         </parameters>
       </method>
       <method name="get_options" c:identifier="gda_connection_get_options">
-        <doc xml:whitespace="preserve">Gets the #GdaConnectionOptions used to open this connection.</doc>
+        <doc xml:space="preserve">Gets the #GdaConnectionOptions used to open this connection.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the connection options.</doc>
+          <doc xml:space="preserve">the connection options.</doc>
           <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_prepared_statement"
               c:identifier="gda_connection_get_prepared_statement">
-        <doc xml:whitespace="preserve">Retrieves a pointer to an object representing a prepared statement 
for @gda_stmt within @cnc. The
+        <doc xml:space="preserve">Retrieves a pointer to an object representing a prepared statement for 
@gda_stmt within @cnc. The
 association must have been done using gda_connection_add_prepared_statement().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the prepared statement, or %NULL if no association exists</doc>
+          <doc xml:space="preserve">the prepared statement, or %NULL if no association exists</doc>
           <type name="PStmt" c:type="GdaPStmt*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="gda_stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_provider" c:identifier="gda_connection_get_provider">
-        <doc xml:whitespace="preserve">Gets a pointer to the #GdaServerProvider object used to access the 
database</doc>
+        <doc xml:space="preserve">Gets a pointer to the #GdaServerProvider object used to access the 
database</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaServerProvider (NEVER NULL)</doc>
+          <doc xml:space="preserve">the #GdaServerProvider (NEVER NULL)</doc>
           <type name="ServerProvider" c:type="GdaServerProvider*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_provider_name"
               c:identifier="gda_connection_get_provider_name">
-        <doc xml:whitespace="preserve">Gets the name (identifier) of the database provider used by @cnc</doc>
+        <doc xml:space="preserve">Gets the name (identifier) of the database provider used by @cnc</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a non modifiable string</doc>
+          <doc xml:space="preserve">a non modifiable string</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_transaction_status"
               c:identifier="gda_connection_get_transaction_status">
-        <doc xml:whitespace="preserve">Get the status of @cnc regarding transactions. The returned object 
should not be modified
+        <doc xml:space="preserve">Get the status of @cnc regarding transactions. The returned object should 
not be modified
 or destroyed; however it may be modified or destroyed by the connection itself.
 
 If %NULL is returned, then no transaction has been associated with @cnc</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaTransactionStatus object, or %NULL</doc>
+          <doc xml:space="preserve">a #GdaTransactionStatus object, or %NULL</doc>
           <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
@@ -2814,30 +2945,32 @@ If %NULL is returned, then no transaction has been associated with @cnc</doc>
               c:identifier="gda_connection_insert_row_into_table"
               version="4.2.3"
               introspectable="0">
-        <doc xml:whitespace="preserve">This is a convenience function, which creates an INSERT statement and 
executes it using the values
+        <doc xml:space="preserve">This is a convenience function, which creates an INSERT statement and 
executes it using the values
 provided. It internally relies on variables which makes it immune to SQL injection problems.
 
 The equivalent SQL command is: INSERT INTO &amp;lt;table&amp;gt; (&amp;lt;column_name&amp;gt; [,...]) VALUES 
(&amp;lt;column_name&amp;gt; = &amp;lt;new_value&amp;gt; [,...]).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">table's name to insert into</doc>
+            <doc xml:space="preserve">table's name to insert into</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+            <doc xml:space="preserve">a place to store errors, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
-          <parameter name="arg3" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a list of string/GValue pairs with the name of the column to use and 
the
+GValue pointer containing the value to insert for the column (value can be %NULL), finished by a %NULL. 
There must be
+at least one column name and value</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -2845,33 +2978,33 @@ The equivalent SQL command is: INSERT INTO &amp;lt;table&amp;gt; (&amp;lt;column
               c:identifier="gda_connection_insert_row_into_table_v"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">@col_names and @values must have length (&amp;gt;= 1).
+        <doc xml:space="preserve">@col_names and @values must have length (&amp;gt;= 1).
 
 This is a convenience function, which creates an INSERT statement and executes it using the values
 provided. It internally relies on variables which makes it immune to SQL injection problems.
 
 The equivalent SQL command is: INSERT INTO &amp;lt;table&amp;gt; (&amp;lt;column_name&amp;gt; [,...]) VALUES 
(&amp;lt;column_name&amp;gt; = &amp;lt;new_value&amp;gt; [,...]).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+          <doc xml:space="preserve">TRUE if no error occurred, FALSE otherwise</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">table's name to insert into</doc>
+            <doc xml:space="preserve">table's name to insert into</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="col_names" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of column names (as const gchar *)</doc>
+            <doc xml:space="preserve">a list of column names (as const gchar *)</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="utf8"/>
             </type>
           </parameter>
           <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of values (as #GValue)</doc>
+            <doc xml:space="preserve">a list of values (as #GValue)</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="GObject.Value"/>
             </type>
@@ -2881,18 +3014,18 @@ The equivalent SQL command is: INSERT INTO &amp;lt;table&amp;gt; (&amp;lt;column
       <method name="internal_change_transaction_state"
               c:identifier="gda_connection_internal_change_transaction_state"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal function to be called by database providers to force a 
transaction status
+        <doc xml:space="preserve">Internal function to be called by database providers to force a 
transaction status
 change.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="newstate" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new state</doc>
+            <doc xml:space="preserve">the new state</doc>
             <type name="TransactionStatusState"
                   c:type="GdaTransactionStatusState"/>
           </parameter>
@@ -2901,15 +3034,15 @@ change.</doc>
       <method name="internal_get_provider_data"
               c:identifier="gda_connection_internal_get_provider_data"
               introspectable="0">
-        <doc xml:whitespace="preserve">Get the opaque pointer previously set using 
gda_connection_internal_set_provider_data().
+        <doc xml:space="preserve">Get the opaque pointer previously set using 
gda_connection_internal_set_provider_data().
 If it's not set, then add a connection event and returns %NULL</doc>
         <return-value>
-          <doc xml:whitespace="preserve">the pointer to the opaque structure set using 
gda_connection_internal_set_provider_data(), or %NULL</doc>
+          <doc xml:space="preserve">the pointer to the opaque structure set using 
gda_connection_internal_set_provider_data(), or %NULL</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
@@ -2919,15 +3052,15 @@ If it's not set, then add a connection event and returns %NULL</doc>
               version="5.0.2"
               introspectable="0"
               throws="1">
-        <doc xml:whitespace="preserve">Get the opaque pointer previously set using 
gda_connection_internal_set_provider_data().
+        <doc xml:space="preserve">Get the opaque pointer previously set using 
gda_connection_internal_set_provider_data().
 If it's not set, then add a connection event and returns %NULL</doc>
         <return-value>
-          <doc xml:whitespace="preserve">the pointer to the opaque structure set using 
gda_connection_internal_set_provider_data(), or %NULL</doc>
+          <doc xml:space="preserve">the pointer to the opaque structure set using 
gda_connection_internal_set_provider_data(), or %NULL</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
@@ -2935,13 +3068,13 @@ If it's not set, then add a connection event and returns %NULL</doc>
       <method name="internal_reset_transaction_status"
               c:identifier="gda_connection_internal_reset_transaction_status"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal function to be called by database providers to reset the 
transaction status.</doc>
+        <doc xml:space="preserve">Internal function to be called by database providers to reset the 
transaction status.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
@@ -2949,7 +3082,7 @@ If it's not set, then add a connection event and returns %NULL</doc>
       <method name="internal_savepoint_added"
               c:identifier="gda_connection_internal_savepoint_added"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal functions to be called by database providers when a 
savepoint has been added
+        <doc xml:space="preserve">Internal functions to be called by database providers when a savepoint has 
been added
 to keep track of the transaction status of the connection
 
 Note: this function should not be called if gda_connection_internal_statement_executed()
@@ -2960,17 +3093,18 @@ the action.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="parent_trans"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">name of the parent transaction, or %NULL</doc>
+            <doc xml:space="preserve">name of the parent transaction, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="svp_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">savepoint's name, or %NULL</doc>
+            <doc xml:space="preserve">savepoint's name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -2978,7 +3112,7 @@ the action.</doc>
       <method name="internal_savepoint_removed"
               c:identifier="gda_connection_internal_savepoint_removed"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal functions to be called by database providers when a 
savepoint has been removed
+        <doc xml:space="preserve">Internal functions to be called by database providers when a savepoint has 
been removed
 to keep track of the transaction status of the connection
 
 Note: this function should not be called if gda_connection_internal_statement_executed()
@@ -2989,11 +3123,14 @@ the action.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="svp_name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">savepoint's name, or %NULL</doc>
+          <parameter name="svp_name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">savepoint's name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -3001,7 +3138,7 @@ the action.</doc>
       <method name="internal_savepoint_rolledback"
               c:identifier="gda_connection_internal_savepoint_rolledback"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal functions to be called by database providers when a 
savepoint has been rolled back
+        <doc xml:space="preserve">Internal functions to be called by database providers when a savepoint has 
been rolled back
 to keep track of the transaction status of the connection
 
 Note: this function should not be called if gda_connection_internal_statement_executed()
@@ -3012,11 +3149,14 @@ the action.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="svp_name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">savepoint's name, or %NULL</doc>
+          <parameter name="svp_name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">savepoint's name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -3024,24 +3164,24 @@ the action.</doc>
       <method name="internal_set_provider_data"
               c:identifier="gda_connection_internal_set_provider_data"
               introspectable="0">
-        <doc xml:whitespace="preserve">Note: calling this function more than once will not make it call 
@destroy_func on any previously
+        <doc xml:space="preserve">Note: calling this function more than once will not make it call 
@destroy_func on any previously
 set opaque @data, you'll have to do it yourself.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opaque structure, known only to the provider for which @cnc is 
opened</doc>
+            <doc xml:space="preserve">an opaque structure, known only to the provider for which @cnc is 
opened</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="destroy_func"
                      transfer-ownership="none"
                      scope="async">
-            <doc xml:whitespace="preserve">function to call when the connection closes and @data needs to be 
destroyed</doc>
+            <doc xml:space="preserve">function to call when the connection closes and @data needs to be 
destroyed</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
@@ -3049,26 +3189,29 @@ set opaque @data, you'll have to do it yourself.</doc>
       <method name="internal_statement_executed"
               c:identifier="gda_connection_internal_statement_executed"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal functions to be called by database providers when a 
statement has been executed
+        <doc xml:space="preserve">Internal functions to be called by database providers when a statement has 
been executed
 to keep track of the transaction status of the connection</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement which has been executed</doc>
+            <doc xml:space="preserve">a #GdaStatement which has been executed</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">execution's parameters</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">execution's parameters</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent if the execution failed, or %NULL</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent if the execution failed, or %NULL</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </parameter>
         </parameters>
@@ -3076,7 +3219,7 @@ to keep track of the transaction status of the connection</doc>
       <method name="internal_transaction_committed"
               c:identifier="gda_connection_internal_transaction_committed"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal functions to be called by database providers when a 
transaction has been committed
+        <doc xml:space="preserve">Internal functions to be called by database providers when a transaction 
has been committed
 to keep track of the transaction status of the connection
 
 Note: this function should not be called if gda_connection_internal_statement_executed()
@@ -3087,13 +3230,14 @@ the action.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="trans_name"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">transaction's name, or %NULL</doc>
+            <doc xml:space="preserve">transaction's name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -3101,7 +3245,7 @@ the action.</doc>
       <method name="internal_transaction_rolledback"
               c:identifier="gda_connection_internal_transaction_rolledback"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal functions to be called by database providers when a 
transaction has been rolled
+        <doc xml:space="preserve">Internal functions to be called by database providers when a transaction 
has been rolled
 back to keep track of the transaction status of the connection
 
 Note: this function should not be called if gda_connection_internal_statement_executed()
@@ -3112,13 +3256,14 @@ the action.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="trans_name"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">transaction's name, or %NULL</doc>
+            <doc xml:space="preserve">transaction's name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -3126,7 +3271,7 @@ the action.</doc>
       <method name="internal_transaction_started"
               c:identifier="gda_connection_internal_transaction_started"
               introspectable="0">
-        <doc xml:whitespace="preserve">Internal functions to be called by database providers when a 
transaction has been started
+        <doc xml:space="preserve">Internal functions to be called by database providers when a transaction 
has been started
 to keep track of the transaction status of the connection.
 
 Note: this function should not be called if gda_connection_internal_statement_executed()
@@ -3137,48 +3282,49 @@ the action.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="parent_trans"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">name of the parent transaction, or %NULL</doc>
+            <doc xml:space="preserve">name of the parent transaction, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="trans_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">transaction's name, or %NULL</doc>
+            <doc xml:space="preserve">transaction's name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="isol_level" transfer-ownership="none">
-            <doc xml:whitespace="preserve">isolation level.</doc>
+            <doc xml:space="preserve">isolation level.</doc>
             <type name="TransactionIsolation"
                   c:type="GdaTransactionIsolation"/>
           </parameter>
         </parameters>
       </method>
       <method name="is_opened" c:identifier="gda_connection_is_opened">
-        <doc xml:whitespace="preserve">Checks whether a connection is open or not.</doc>
+        <doc xml:space="preserve">Checks whether a connection is open or not.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the connection is open, %FALSE if it's not.</doc>
+          <doc xml:space="preserve">%TRUE if the connection is open, %FALSE if it's not.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="open" c:identifier="gda_connection_open" throws="1">
-        <doc xml:whitespace="preserve">Tries to open the connection.</doc>
+        <doc xml:space="preserve">Tries to open the connection.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the connection is opened, and FALSE otherwise.</doc>
+          <doc xml:space="preserve">TRUE if the connection is opened, and FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
         </parameters>
@@ -3187,28 +3333,30 @@ the action.</doc>
               c:identifier="gda_connection_parse_sql_string"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">This function helps to parse a SQL string which uses parameters and 
store them at @params.</doc>
+        <doc xml:space="preserve">This function helps to parse a SQL string which uses parameters and store 
them at @params.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaStatement representing the SQL command, or %NULL if an error 
occurred</doc>
+          <doc xml:space="preserve">a #GdaStatement representing the SQL command, or %NULL if an error 
occurred</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc"
                               transfer-ownership="none"
+                              nullable="1"
                               allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an SQL command to parse, not %NULL</doc>
+            <doc xml:space="preserve">an SQL command to parse, not %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="params"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store a new #GdaSet, for parameters used in SQL 
command, or %NULL</doc>
+            <doc xml:space="preserve">a place to store a new #GdaSet, for parameters used in SQL command, or 
%NULL</doc>
             <type name="Set" c:type="GdaSet**"/>
           </parameter>
         </parameters>
@@ -3216,20 +3364,20 @@ the action.</doc>
       <method name="perform_operation"
               c:identifier="gda_connection_perform_operation"
               throws="1">
-        <doc xml:whitespace="preserve">Performs the operation described by @op (which should have been 
created using
+        <doc xml:space="preserve">Performs the operation described by @op (which should have been created 
using
 gda_connection_create_operation()). It is a wrapper around the gda_server_provider_perform_operation()
 method.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </parameter>
         </parameters>
@@ -3237,19 +3385,20 @@ method.</doc>
       <method name="point_available_event"
               c:identifier="gda_connection_point_available_event"
               version="4.2">
-        <doc xml:whitespace="preserve">Use this method to get a pointer to the next available connection 
event which can then be customized
+        <doc xml:space="preserve">Use this method to get a pointer to the next available connection event 
which can then be customized
 and taken into account using gda_connection_add_event().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the next available connection event, or %NULL if event 
should be ignored</doc>
+          <doc xml:space="preserve">a pointer to the next available connection event, or %NULL if event 
should
+be ignored</doc>
           <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEventType</doc>
+            <doc xml:space="preserve">a #GdaConnectionEventType</doc>
             <type name="ConnectionEventType" c:type="GdaConnectionEventType"/>
           </parameter>
         </parameters>
@@ -3257,7 +3406,7 @@ and taken into account using gda_connection_add_event().</doc>
       <method name="quote_sql_identifier"
               c:identifier="gda_connection_quote_sql_identifier"
               version="4.0.3">
-        <doc xml:whitespace="preserve">Use this method to get a correctly quoted (if necessary) SQL 
identifier which can be used
+        <doc xml:space="preserve">Use this method to get a correctly quoted (if necessary) SQL identifier 
which can be used
 in SQL statements, from @id. If @id is already correctly quoted for @cnc, then a copy of @id
 may be returned.
 
@@ -3273,16 +3422,16 @@ This method may add double quotes (or other characters) around @id:
 One can safely pass an already quoted @id to this method, either with quoting characters allowed by @cnc or 
using the
 double quote (") character.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, to free with g_free() once not needed anymore</doc>
+          <doc xml:space="preserve">a new string, to free with g_free() once not needed anymore</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an SQL identifier</doc>
+            <doc xml:space="preserve">an SQL identifier</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -3291,37 +3440,42 @@ double quote (") character.</doc>
               c:identifier="gda_connection_repetitive_statement_execute"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Executes the statement upon which @rstmt is built. Note that as 
several statements can actually be executed by this
+        <doc xml:space="preserve">Executes the statement upon which @rstmt is built. Note that as several 
statements can actually be executed by this
 method, it is recommended to be within a transaction.
 
 If @error is not %NULL and @stop_on_error is %FALSE, then it may contain the last error which occurred.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new list of #GObject pointers (see 
gda_connection_statement_execute() for more information about what they represent), one for each actual 
execution of the statement upon which @rstmt is built. If @stop_on_error is %FALSE, then the list may contain 
some %NULL pointers which refer to statements which failed to execute.</doc>
+          <doc xml:space="preserve">a new list of #GObject pointers (see gda_connection_statement_execute() 
for more information about what they
+represent), one for each actual execution of the statement upon which @rstmt is built. If @stop_on_error is 
%FALSE, then
+the list may contain some %NULL pointers which refer to statements which failed to execute.</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="GObject.Object"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="rstmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRepetitiveStatement object</doc>
+            <doc xml:space="preserve">a #GdaRepetitiveStatement object</doc>
             <type name="RepetitiveStatement" c:type="GdaRepetitiveStatement*"/>
           </parameter>
           <parameter name="model_usage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">specifies how the returned data model will be used as a 
#GdaStatementModelUsage enum</doc>
+            <doc xml:space="preserve">specifies how the returned data model will be used as a 
#GdaStatementModelUsage enum</doc>
             <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
           </parameter>
-          <parameter name="col_types" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array of GType to request each returned GdaDataModel's 
column's GType, see gda_connection_statement_execute_select_full() for more information</doc>
+          <parameter name="col_types"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array of GType to request each returned GdaDataModel's column's 
GType, see gda_connection_statement_execute_select_full() for more information</doc>
             <array zero-terminated="0" c:type="GType*">
               <type name="GType" c:type="GType"/>
             </array>
           </parameter>
           <parameter name="stop_on_error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">set to TRUE if the method has to stop on the first error.</doc>
+            <doc xml:space="preserve">set to TRUE if the method has to stop on the first error.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -3329,18 +3483,21 @@ If @error is not %NULL and @stop_on_error is %FALSE, then it may contain the las
       <method name="rollback_savepoint"
               c:identifier="gda_connection_rollback_savepoint"
               throws="1">
-        <doc xml:whitespace="preserve">Rollback all the modifications made after the SAVEPOINT named 
@name.</doc>
+        <doc xml:space="preserve">Rollback all the modifications made after the SAVEPOINT named @name.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">name of the savepoint to rollback to</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">name of the savepoint to rollback to</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -3348,21 +3505,24 @@ If @error is not %NULL and @stop_on_error is %FALSE, then it may contain the las
       <method name="rollback_transaction"
               c:identifier="gda_connection_rollback_transaction"
               throws="1">
-        <doc xml:whitespace="preserve">Rollbacks the given transaction. This means that all changes
+        <doc xml:space="preserve">Rollbacks the given transaction. This means that all changes
 made to the underlying data source since the last call to
 #gda_connection_begin_transaction() or #gda_connection_commit_transaction()
 will be discarded.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the operation was successful, %FALSE otherwise.</doc>
+          <doc xml:space="preserve">%TRUE if the operation was successful, %FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the name of the transation to commit, or %NULL</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the name of the transation to commit, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -3370,12 +3530,12 @@ will be discarded.</doc>
       <method name="statement_execute"
               c:identifier="gda_connection_statement_execute"
               throws="1">
-        <doc xml:whitespace="preserve">Executes @stmt. 
+        <doc xml:space="preserve">Executes @stmt.
 
 As @stmt can, by design (and if not abused), contain only one SQL statement, the
 return object will either be:
 &lt;itemizedlist&gt;
-  &lt;listitem&gt;&lt;para&gt;a #GdaDataSelect object (which is also a #GdaDataModel) if @stmt is a SELECT 
statement 
+  &lt;listitem&gt;&lt;para&gt;a #GdaDataSelect object (which is also a #GdaDataModel) if @stmt is a SELECT 
statement
             (usually a GDA_SQL_STATEMENT_SELECT, see #GdaSqlStatementType)
             containing the results of the SELECT. The resulting data model is by default read only, but
             modifications can be enabled, see the #GdaDataSelect's documentation for more 
information.&lt;/para&gt;&lt;/listitem&gt;
@@ -3410,7 +3570,7 @@ Note3: If @stmt is a SELECT statement which has some parameters and  if @params
 invalid parameters and if @model_usage has the GDA_STATEMENT_MODEL_ALLOW_NOPARAM flag, then the returned
 data model will contain no row but will have all the correct columns (even though some of the columns might
 report as GDA_TYPE_NULL). In this case, if (after this method call) any of @params' parameters change
-then the resulting data model will re-run itself, see the GdaDataSelect's 
+then the resulting data model will re-run itself, see the GdaDataSelect's
 &lt;link linkend="GdaDataSelect--auto-reset"&gt;auto-reset&lt;/link&gt; property for more information.
 
 Note4: if @model_usage does not contain the GDA_STATEMENT_MODEL_RANDOM_ACCESS or
@@ -3425,32 +3585,36 @@ liberated (when the returned data model is destroyed). See the section about
 Also see the &lt;link linkend="limitations"&gt;provider's limitations&lt;/link&gt;, and the
 &lt;link linkend="data-select"&gt;Advanced GdaDataSelect usage&lt;/link&gt; sections.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GObject, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a #GObject, or %NULL if an error occurred</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="model_usage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">in the case where @stmt is a SELECT statement, specifies how the 
returned data model will be used</doc>
+            <doc xml:space="preserve">in the case where @stmt is a SELECT statement, specifies how the 
returned data model will be used</doc>
             <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
           </parameter>
           <parameter name="last_insert_row"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store a new #GdaSet object which contains the values 
of the last inserted row, or %NULL</doc>
+            <doc xml:space="preserve">a place to store a new #GdaSet object which contains the values of the 
last inserted row, or %NULL</doc>
             <type name="Set" c:type="GdaSet**"/>
           </parameter>
         </parameters>
@@ -3458,40 +3622,44 @@ Also see the &lt;link linkend="limitations"&gt;provider's limitations&lt;/link&g
       <method name="statement_execute_non_select"
               c:identifier="gda_connection_statement_execute_non_select"
               throws="1">
-        <doc xml:whitespace="preserve">Executes a non-selection statement on the given connection.
+        <doc xml:space="preserve">Executes a non-selection statement on the given connection.
 
 This function returns the number of rows affected by the execution of @stmt, or -1
 if an error occurred, or -2 if the connection's provider does not return the number of rows affected.
 
 This function is just a convenience function around the gda_connection_statement_execute()
-function. 
+function.
 See the documentation of the gda_connection_statement_execute() for information
 about the @params list of parameters.
 
 See gda_connection_statement_execute() form more information about @last_insert_row.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of rows affected (&amp;gt;=0) or -1 or -2</doc>
+          <doc xml:space="preserve">the number of rows affected (&amp;gt;=0) or -1 or -2</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+            <doc xml:space="preserve">a #GdaStatement object.</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="last_insert_row"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store a new #GdaSet object which contains the values 
of the last inserted row, or %NULL</doc>
+            <doc xml:space="preserve">a place to store a new #GdaSet object which contains the values of the 
last inserted row, or %NULL</doc>
             <type name="Set" c:type="GdaSet**"/>
           </parameter>
         </parameters>
@@ -3499,7 +3667,7 @@ See gda_connection_statement_execute() form more information about @last_insert_
       <method name="statement_execute_select"
               c:identifier="gda_connection_statement_execute_select"
               throws="1">
-        <doc xml:whitespace="preserve">Executes a selection command on the given connection.
+        <doc xml:space="preserve">Executes a selection command on the given connection.
 
 This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL
 if an error occurred.
@@ -3510,20 +3678,24 @@ function.
 See the documentation of the gda_connection_statement_execute() for information
 about the @params list of parameters.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaDataModel containing the data returned by the data source, or 
%NULL if an error occurred</doc>
+          <doc xml:space="preserve">a #GdaDataModel containing the data returned by the
+data source, or %NULL if an error occurred</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+            <doc xml:space="preserve">a #GdaStatement object.</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
@@ -3531,7 +3703,7 @@ about the @params list of parameters.</doc>
       <method name="statement_execute_select_full"
               c:identifier="gda_connection_statement_execute_select_full"
               throws="1">
-        <doc xml:whitespace="preserve">Executes a selection command on the given connection.
+        <doc xml:space="preserve">Executes a selection command on the given connection.
 
 This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL
 if an error occurred.
@@ -3542,28 +3714,37 @@ function.
 See the documentation of the gda_connection_statement_execute() for information
 about the @params list of parameters.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaDataModel containing the data returned by the data source, or 
%NULL if an error occurred</doc>
+          <doc xml:space="preserve">a #GdaDataModel containing the data returned by the
+data source, or %NULL if an error occurred</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+            <doc xml:space="preserve">a #GdaStatement object.</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="model_usage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">specifies how the returned data model will be used as a 
#GdaStatementModelUsage enum</doc>
+            <doc xml:space="preserve">specifies how the returned data model will be used as a 
#GdaStatementModelUsage enum</doc>
             <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
           </parameter>
-          <parameter name="col_types" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array of GType to request each returned #GdaDataModel's 
column's GType, terminated with the G_TYPE_NONE value. Any value left to 0 will make the database provider 
determine the real GType. @col_types can also be %NULL if no column type is specified.</doc>
+          <parameter name="col_types"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array of GType to request each returned #GdaDataModel's column's 
GType, terminated with the G_TYPE_NONE
+value. Any value left to 0 will make the database provider determine the real GType. @col_types can also be 
%NULL if no
+column type is specified.</doc>
             <array zero-terminated="0" c:type="GType*">
               <type name="GType" c:type="GType"/>
             </array>
@@ -3573,7 +3754,7 @@ about the @params list of parameters.</doc>
       <method name="statement_execute_select_fullv"
               c:identifier="gda_connection_statement_execute_select_fullv"
               introspectable="0">
-        <doc xml:whitespace="preserve">Executes a selection command on the given connection.
+        <doc xml:space="preserve">Executes a selection command on the given connection.
 
 This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL
 if an error occurred.
@@ -3584,60 +3765,65 @@ function.
 See the documentation of the gda_connection_statement_execute() for information
 about the @params list of parameters.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaDataModel containing the data returned by the data source, or 
%NULL if an error occurred</doc>
+          <doc xml:space="preserve">a #GdaDataModel containing the data returned by the
+data source, or %NULL if an error occurred</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+            <doc xml:space="preserve">a #GdaStatement object.</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="model_usage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">specifies how the returned data model will be used as a 
#GdaStatementModelUsage enum</doc>
+            <doc xml:space="preserve">specifies how the returned data model will be used as a 
#GdaStatementModelUsage enum</doc>
             <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
           </parameter>
           <parameter name="error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store an error, or %NULL</doc>
+            <doc xml:space="preserve">a place to store an error, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
-          <parameter name="arg5" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a (-1 terminated) list of (column number, GType) specifying for each 
column mentioned the GType
+of the column in the returned #GdaDataModel.</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
       <method name="statement_prepare"
               c:identifier="gda_connection_statement_prepare"
               throws="1">
-        <doc xml:whitespace="preserve">Ask the database accessed through the @cnc connection to prepare the 
usage of @stmt. This is only useful
-if @stmt will be used more than once (however some database providers may always prepare statements 
+        <doc xml:space="preserve">Ask the database accessed through the @cnc connection to prepare the usage 
of @stmt. This is only useful
+if @stmt will be used more than once (however some database providers may always prepare statements
 before executing them).
 
 This function is also useful to make sure @stmt is fully understood by the database before actually 
executing it.
 
 Note however that it is also possible that gda_connection_statement_prepare() fails when
 gda_connection_statement_execute() does not fail (this will usually be the case with statements such as
-&lt;![CDATA["SELECT * FROM ##tablename::string"]]&gt; because database usually don't allow variables to be 
used in place of a 
+&lt;![CDATA["SELECT * FROM ##tablename::string"]]&gt; because database usually don't allow variables to be 
used in place of a
 table name).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
@@ -3645,34 +3831,38 @@ table name).</doc>
       <method name="statement_to_sql"
               c:identifier="gda_connection_statement_to_sql"
               throws="1">
-        <doc xml:whitespace="preserve">Renders @stmt as an SQL statement, adapted to the SQL dialect used by 
@cnc</doc>
+        <doc xml:space="preserve">Renders @stmt as an SQL statement, adapted to the SQL dialect used by 
@cnc</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaSet object (which can be obtained using 
gda_statement_get_parameters()), or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">SQL rendering flags, as #GdaStatementSqlFlag OR'ed values</doc>
+            <doc xml:space="preserve">SQL rendering flags, as #GdaStatementSqlFlag OR'ed values</doc>
             <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
           </parameter>
           <parameter name="params_used"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="container"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store the list of individual #GdaHolder objects within 
@params which have been used</doc>
+            <doc xml:space="preserve">a place to store the list of individual #GdaHolder objects within 
@params which have been used</doc>
             <type name="GLib.SList" c:type="GSList**">
               <type name="Holder"/>
             </type>
@@ -3681,18 +3871,18 @@ table name).</doc>
       </method>
       <method name="supports_feature"
               c:identifier="gda_connection_supports_feature">
-        <doc xml:whitespace="preserve">Asks the underlying provider for if a specific feature is 
supported.</doc>
+        <doc xml:space="preserve">Asks the underlying provider for if a specific feature is supported.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the provider supports it, %FALSE if not.</doc>
+          <doc xml:space="preserve">%TRUE if the provider supports it, %FALSE if not.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="feature" transfer-ownership="none">
-            <doc xml:whitespace="preserve">feature to ask for.</doc>
+            <doc xml:space="preserve">feature to ask for.</doc>
             <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
           </parameter>
         </parameters>
@@ -3700,7 +3890,7 @@ table name).</doc>
       <method name="update_meta_store"
               c:identifier="gda_connection_update_meta_store"
               throws="1">
-        <doc xml:whitespace="preserve">Updates @cnc's associated #GdaMetaStore. If @context is not %NULL, 
then only the parts described by
+        <doc xml:space="preserve">Updates @cnc's associated #GdaMetaStore. If @context is not %NULL, then 
only the parts described by
 @context will be updated, and if it is %NULL, then the complete meta store will be updated. Detailed
 explanations follow:
 
@@ -3740,16 +3930,19 @@ the @context argument.
 For more information, see the &lt;link linkend="information_schema"&gt;Database structure&lt;/link&gt; 
section, and
 the &lt;link linkend="howto-meta2"&gt;Update the meta data about a table&lt;/link&gt; howto.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
-          <parameter name="context" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">description of which part of @cnc's associated #GdaMetaStore 
should be updated, or %NULL</doc>
+          <parameter name="context"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">description of which part of @cnc's associated #GdaMetaStore should be 
updated, or %NULL</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </parameter>
         </parameters>
@@ -3758,38 +3951,40 @@ the &lt;link linkend="howto-meta2"&gt;Update the meta data about a table&lt;/lin
               c:identifier="gda_connection_update_row_in_table"
               version="4.2.3"
               introspectable="0">
-        <doc xml:whitespace="preserve">This is a convenience function, which creates an UPDATE statement and 
executes it using the values
+        <doc xml:space="preserve">This is a convenience function, which creates an UPDATE statement and 
executes it using the values
 provided. It internally relies on variables which makes it immune to SQL injection problems.
 
 The equivalent SQL command is: UPDATE &amp;lt;table&amp;gt; SET &amp;lt;column_name&amp;gt; = 
&amp;lt;new_value&amp;gt; [,...] WHERE &amp;lt;condition_column_name&amp;gt; = 
&amp;lt;condition_value&amp;gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+          <doc xml:space="preserve">TRUE if no error occurred, FALSE otherwise</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the table's name with the row's values to be updated</doc>
+            <doc xml:space="preserve">the table's name with the row's values to be updated</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="condition_column_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the column to used in the WHERE condition clause</doc>
+            <doc xml:space="preserve">the name of the column to used in the WHERE condition clause</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="condition_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the @condition_column_type's GType</doc>
+            <doc xml:space="preserve">the @condition_column_type's GType</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
           <parameter name="error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+            <doc xml:space="preserve">a place to store errors, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
-          <parameter name="arg5" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a list of string/GValue pairs with the name of the column to use and 
the
+GValue pointer containing the value to update the column to (value can be %NULL), finished by a %NULL. There 
must be
+at least one column name and value</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -3797,41 +3992,41 @@ The equivalent SQL command is: UPDATE &amp;lt;table&amp;gt; SET &amp;lt;column_n
               c:identifier="gda_connection_update_row_in_table_v"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">@col_names and @values must have length (&amp;gt;= 1).
+        <doc xml:space="preserve">@col_names and @values must have length (&amp;gt;= 1).
 
 This is a convenience function, which creates an UPDATE statement and executes it using the values
 provided. It internally relies on variables which makes it immune to SQL injection problems.
 
 The equivalent SQL command is: UPDATE &amp;lt;table&amp;gt; SET &amp;lt;column_name&amp;gt; = 
&amp;lt;new_value&amp;gt; [,...] WHERE &amp;lt;condition_column_name&amp;gt; = 
&amp;lt;condition_value&amp;gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+          <doc xml:space="preserve">TRUE if no error occurred, FALSE otherwise</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the table's name with the row's values to be updated</doc>
+            <doc xml:space="preserve">the table's name with the row's values to be updated</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="condition_column_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the column to used in the WHERE condition clause</doc>
+            <doc xml:space="preserve">the name of the column to used in the WHERE condition clause</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="condition_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the @condition_column_type's GType</doc>
+            <doc xml:space="preserve">the @condition_column_type's GType</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
           <parameter name="col_names" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of column names (as const gchar *)</doc>
+            <doc xml:space="preserve">a list of column names (as const gchar *)</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="utf8"/>
             </type>
           </parameter>
           <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of values (as #GValue)</doc>
+            <doc xml:space="preserve">a list of values (as #GValue)</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="GObject.Value"/>
             </type>
@@ -3840,18 +4035,18 @@ The equivalent SQL command is: UPDATE &amp;lt;table&amp;gt; SET &amp;lt;column_n
       </method>
       <method name="value_to_sql_string"
               c:identifier="gda_connection_value_to_sql_string">
-        <doc xml:whitespace="preserve">Produces a fully quoted and escaped string from a GValue</doc>
+        <doc xml:space="preserve">Produces a fully quoted and escaped string from a GValue</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">escaped and quoted value or NULL if not supported.</doc>
+          <doc xml:space="preserve">escaped and quoted value or NULL if not supported.</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object.</doc>
+            <doc xml:space="preserve">a #GdaConnection object.</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </instance-parameter>
           <parameter name="from" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#GValue to convert from</doc>
+            <doc xml:space="preserve">#GValue to convert from</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
         </parameters>
@@ -3869,7 +4064,7 @@ The equivalent SQL command is: UPDATE &amp;lt;table&amp;gt; SET &amp;lt;column_n
                 version="4.2"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the number of #GdaConnectionEvent objects kept in memory 
which can
+        <doc xml:space="preserve">Defines the number of #GdaConnectionEvent objects kept in memory which can
 be fetched using gda_connection_get_events().</doc>
         <type name="gint" c:type="gint"/>
       </property>
@@ -3877,7 +4072,7 @@ be fetched using gda_connection_get_events().</doc>
                 version="5.2.0"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Artificially slows down the execution of queries. This property can 
be used to
+        <doc xml:space="preserve">Artificially slows down the execution of queries. This property can be 
used to
 debug some problems. If non zero, this value is the number of microseconds waited before actually
 executing each query.</doc>
         <type name="guint" c:type="guint"/>
@@ -3886,14 +4081,14 @@ executing each query.</doc>
                 version="4.2.9"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Computes execution times for each statement executed.</doc>
+        <doc xml:space="preserve">Computes execution times for each statement executed.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </property>
       <property name="is-wrapper"
                 version="4.2"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">This property, if set to %TRUE, specifies that the connection is not 
a real connection, but rather
+        <doc xml:space="preserve">This property, if set to %TRUE, specifies that the connection is not a 
real connection, but rather
 a #GdaConnection object which "proxies" all the calls to another connection which executes in a sub
 thread.
 
@@ -3908,7 +4103,7 @@ this property has no effect, reading it is supported, though.</doc>
                 version="4.2"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Useful only when there is a mainloop and when the connection acts as 
a thread wrapper around another connection,
+        <doc xml:space="preserve">Useful only when there is a mainloop and when the connection acts as a 
thread wrapper around another connection,
 it sets up a timeout to handle signals coming from the wrapped connection.
 
 If the connection is not a thread wrapper, then this property has no effect.</doc>
@@ -3933,44 +4128,44 @@ If the connection is not a thread wrapper, then this property has no effect.</do
         <type name="ConnectionPrivate" c:type="GdaConnectionPrivate*"/>
       </field>
       <glib:signal name="conn-closed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when the connection to the database has been closed</doc>
+        <doc xml:space="preserve">Gets emitted when the connection to the database has been closed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="conn-opened" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when the connection has been opened to the database</doc>
+        <doc xml:space="preserve">Gets emitted when the connection has been opened to the database</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="conn-to-close" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when the connection to the database is about to be 
closed</doc>
+        <doc xml:space="preserve">Gets emitted when the connection to the database is about to be 
closed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="dsn-changed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when the DSN used by @cnc has been changed</doc>
+        <doc xml:space="preserve">Gets emitted when the DSN used by @cnc has been changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="error" when="last">
-        <doc xml:whitespace="preserve">Gets emitted whenever a connection event occurs. Check the nature of 
@event to
+        <doc xml:space="preserve">Gets emitted whenever a connection event occurs. Check the nature of 
@event to
 see if it's an error or a simple notification</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent object</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent object</doc>
             <type name="ConnectionEvent"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="transaction-status-changed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when the transaction status of @cnc has changed (a 
transaction has been 
+        <doc xml:space="preserve">Gets emitted when the transaction status of @cnc has changed (a 
transaction has been
 started, rolled back, a savepoint added,...)</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -4150,89 +4345,89 @@ started, rolled back, a savepoint added,...)</doc>
            glib:type-struct="ConnectionEventClass">
       <method name="get_code" c:identifier="gda_connection_event_get_code">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">@event's code (the code is specific to the provider being 
used)</doc>
+          <doc xml:space="preserve">@event's code (the code is specific to the provider being used)</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_description"
               c:identifier="gda_connection_event_get_description">
-        <doc xml:whitespace="preserve">Get the description of the event. Note that is @event's type is 
GDA_CONNECTION_EVENT_COMMAND,
+        <doc xml:space="preserve">Get the description of the event. Note that is @event's type is 
GDA_CONNECTION_EVENT_COMMAND,
 the the description is the SQL of the command.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">@event's description.</doc>
+          <doc xml:space="preserve">@event's description.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_event_type"
               c:identifier="gda_connection_event_get_event_type">
-        <doc xml:whitespace="preserve">Get @event's severity (from a simple notice to a fatal event)</doc>
+        <doc xml:space="preserve">Get @event's severity (from a simple notice to a fatal event)</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the event type</doc>
+          <doc xml:space="preserve">the event type</doc>
           <type name="ConnectionEventType" c:type="GdaConnectionEventType"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent object</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent object</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_gda_code"
               c:identifier="gda_connection_event_get_gda_code">
-        <doc xml:whitespace="preserve">Retrieve the code associated to @event.</doc>
+        <doc xml:space="preserve">Retrieve the code associated to @event.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaConnectionEventCode event's code</doc>
+          <doc xml:space="preserve">the #GdaConnectionEventCode event's code</doc>
           <type name="ConnectionEventCode" c:type="GdaConnectionEventCode"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_source" c:identifier="gda_connection_event_get_source">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">@event's source.</doc>
+          <doc xml:space="preserve">@event's source.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_sqlstate"
               c:identifier="gda_connection_event_get_sqlstate">
-        <doc xml:whitespace="preserve">Get the SQLSTATE value of @event. Even though the SQLSTATE values are 
specified by ANSI SQL and ODBC,
+        <doc xml:space="preserve">Get the SQLSTATE value of @event. Even though the SQLSTATE values are 
specified by ANSI SQL and ODBC,
 consult each DBMS for the possible values. However, the "00000" (success) value means that there is no error,
 and the "HY000" (general error) value means an error but no better error code available.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">@event's SQL state.</doc>
+          <doc xml:space="preserve">@event's SQL state.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="set_code" c:identifier="gda_connection_event_set_code">
-        <doc xml:whitespace="preserve">Sets @event's code: the code is specific to the provider being used.
+        <doc xml:space="preserve">Sets @event's code: the code is specific to the provider being used.
 If you want to have a common understanding of the event codes, use
 gda_connection_event_get_gda_code() instead.
 
@@ -4242,55 +4437,56 @@ This function should not be called directly</doc>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
           <parameter name="code" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a code.</doc>
+            <doc xml:space="preserve">a code.</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_description"
               c:identifier="gda_connection_event_set_description">
-        <doc xml:whitespace="preserve">Sets @event's @description. This function should not be called 
directly.</doc>
+        <doc xml:space="preserve">Sets @event's @description. This function should not be called 
directly.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
           <parameter name="description"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a description, or %NULL (to unset current description if 
any)</doc>
+            <doc xml:space="preserve">a description, or %NULL (to unset current description if any)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_event_type"
               c:identifier="gda_connection_event_set_event_type">
-        <doc xml:whitespace="preserve">Sets @event's severity (from a simple notice to a fatal event)
+        <doc xml:space="preserve">Sets @event's severity (from a simple notice to a fatal event)
 This function should not be called directly.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent object</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent object</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the severity of the event</doc>
+            <doc xml:space="preserve">the severity of the event</doc>
             <type name="ConnectionEventType" c:type="GdaConnectionEventType"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_gda_code"
               c:identifier="gda_connection_event_set_gda_code">
-        <doc xml:whitespace="preserve">Sets @event's gda code: that code is standardized by the libgda
+        <doc xml:space="preserve">Sets @event's gda code: that code is standardized by the libgda
 library. If you want to specify the corresponding provider specific code,
 use gda_connection_event_get_code() or gda_connection_event_get_sqlstate() instead.
 
@@ -4300,34 +4496,34 @@ This function should not be called directly</doc>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
           <parameter name="code" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a code</doc>
+            <doc xml:space="preserve">a code</doc>
             <type name="ConnectionEventCode" c:type="GdaConnectionEventCode"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_source" c:identifier="gda_connection_event_set_source">
-        <doc xml:whitespace="preserve">Sets @event's @source; this function should not be called 
directly</doc>
+        <doc xml:space="preserve">Sets @event's @source; this function should not be called directly</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
           <parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a source.</doc>
+            <doc xml:space="preserve">a source.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_sqlstate"
               c:identifier="gda_connection_event_set_sqlstate">
-        <doc xml:whitespace="preserve">Changes the SQLSTATE code of @event, this function should not be 
called directly
+        <doc xml:space="preserve">Changes the SQLSTATE code of @event, this function should not be called 
directly
 
 Sets @event's SQL state.</doc>
         <return-value transfer-ownership="none">
@@ -4335,11 +4531,11 @@ Sets @event's SQL state.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnectionEvent.</doc>
+            <doc xml:space="preserve">a #GdaConnectionEvent.</doc>
             <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
           </instance-parameter>
           <parameter name="sqlstate" transfer-ownership="none">
-            <doc xml:whitespace="preserve">SQL state.</doc>
+            <doc xml:space="preserve">SQL state.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -4489,134 +4685,134 @@ Sets @event's SQL state.</doc>
       </member>
     </enumeration>
     <enumeration name="ConnectionFeature" c:type="GdaConnectionFeature">
-      <doc xml:whitespace="preserve">Used in gda_connection_supports_feature() and 
gda_server_provider_supports_feature() to test if a connection
+      <doc xml:space="preserve">Used in gda_connection_supports_feature() and 
gda_server_provider_supports_feature() to test if a connection
 or a database provider supports some specific feature.</doc>
       <member name="aggregates"
               value="0"
               c:identifier="GDA_CONNECTION_FEATURE_AGGREGATES">
-        <doc xml:whitespace="preserve">test for aggregates support</doc>
+        <doc xml:space="preserve">test for aggregates support</doc>
       </member>
       <member name="blobs"
               value="1"
               c:identifier="GDA_CONNECTION_FEATURE_BLOBS">
-        <doc xml:whitespace="preserve">test for BLOBS (binary large objects) support</doc>
+        <doc xml:space="preserve">test for BLOBS (binary large objects) support</doc>
       </member>
       <member name="indexes"
               value="2"
               c:identifier="GDA_CONNECTION_FEATURE_INDEXES">
-        <doc xml:whitespace="preserve">test for indexes support</doc>
+        <doc xml:space="preserve">test for indexes support</doc>
       </member>
       <member name="inheritance"
               value="3"
               c:identifier="GDA_CONNECTION_FEATURE_INHERITANCE">
-        <doc xml:whitespace="preserve">test for tables inheritance support</doc>
+        <doc xml:space="preserve">test for tables inheritance support</doc>
       </member>
       <member name="namespaces"
               value="4"
               c:identifier="GDA_CONNECTION_FEATURE_NAMESPACES">
-        <doc xml:whitespace="preserve">test for namespaces support</doc>
+        <doc xml:space="preserve">test for namespaces support</doc>
       </member>
       <member name="procedures"
               value="5"
               c:identifier="GDA_CONNECTION_FEATURE_PROCEDURES">
-        <doc xml:whitespace="preserve">test for functions support</doc>
+        <doc xml:space="preserve">test for functions support</doc>
       </member>
       <member name="sequences"
               value="6"
               c:identifier="GDA_CONNECTION_FEATURE_SEQUENCES">
-        <doc xml:whitespace="preserve">test for sequences support</doc>
+        <doc xml:space="preserve">test for sequences support</doc>
       </member>
       <member name="sql" value="7" c:identifier="GDA_CONNECTION_FEATURE_SQL">
-        <doc xml:whitespace="preserve">test for SQL language (even specific to the database) support</doc>
+        <doc xml:space="preserve">test for SQL language (even specific to the database) support</doc>
       </member>
       <member name="transactions"
               value="8"
               c:identifier="GDA_CONNECTION_FEATURE_TRANSACTIONS">
-        <doc xml:whitespace="preserve">test for transactions support</doc>
+        <doc xml:space="preserve">test for transactions support</doc>
       </member>
       <member name="savepoints"
               value="9"
               c:identifier="GDA_CONNECTION_FEATURE_SAVEPOINTS">
-        <doc xml:whitespace="preserve">test for savepoints within transactions support</doc>
+        <doc xml:space="preserve">test for savepoints within transactions support</doc>
       </member>
       <member name="savepoints_remove"
               value="10"
               c:identifier="GDA_CONNECTION_FEATURE_SAVEPOINTS_REMOVE">
-        <doc xml:whitespace="preserve">test if savepoints can be removed</doc>
+        <doc xml:space="preserve">test if savepoints can be removed</doc>
       </member>
       <member name="triggers"
               value="11"
               c:identifier="GDA_CONNECTION_FEATURE_TRIGGERS">
-        <doc xml:whitespace="preserve">test for triggers support</doc>
+        <doc xml:space="preserve">test for triggers support</doc>
       </member>
       <member name="updatable_cursor"
               value="12"
               c:identifier="GDA_CONNECTION_FEATURE_UPDATABLE_CURSOR">
-        <doc xml:whitespace="preserve">test for updatable cursors support</doc>
+        <doc xml:space="preserve">test for updatable cursors support</doc>
       </member>
       <member name="users"
               value="13"
               c:identifier="GDA_CONNECTION_FEATURE_USERS">
-        <doc xml:whitespace="preserve">test for users support</doc>
+        <doc xml:space="preserve">test for users support</doc>
       </member>
       <member name="views"
               value="14"
               c:identifier="GDA_CONNECTION_FEATURE_VIEWS">
-        <doc xml:whitespace="preserve">test for views support</doc>
+        <doc xml:space="preserve">test for views support</doc>
       </member>
       <member name="xa_transactions"
               value="15"
               c:identifier="GDA_CONNECTION_FEATURE_XA_TRANSACTIONS">
-        <doc xml:whitespace="preserve">test for distributed transactions support</doc>
+        <doc xml:space="preserve">test for distributed transactions support</doc>
       </member>
       <member name="multi_threading"
               value="16"
               c:identifier="GDA_CONNECTION_FEATURE_MULTI_THREADING">
-        <doc xml:whitespace="preserve">test for native multi-threading support</doc>
+        <doc xml:space="preserve">test for native multi-threading support</doc>
       </member>
       <member name="async_exec"
               value="17"
               c:identifier="GDA_CONNECTION_FEATURE_ASYNC_EXEC">
-        <doc xml:whitespace="preserve">test if connection supports asynchronous execution</doc>
+        <doc xml:space="preserve">test if connection supports asynchronous execution</doc>
       </member>
       <member name="last"
               value="18"
               c:identifier="GDA_CONNECTION_FEATURE_LAST">
-        <doc xml:whitespace="preserve">not used</doc>
+        <doc xml:space="preserve">not used</doc>
       </member>
     </enumeration>
     <enumeration name="ConnectionMetaType" c:type="GdaConnectionMetaType">
-      <doc xml:whitespace="preserve">Used with gda_connection_get_meta_store_data() to describe what meta 
data to extract from
+      <doc xml:space="preserve">Used with gda_connection_get_meta_store_data() to describe what meta data to 
extract from
 a connection's associated #GdaMetaStore.</doc>
       <member name="namespaces"
               value="0"
               c:identifier="GDA_CONNECTION_META_NAMESPACES">
-        <doc xml:whitespace="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_NAMESPACES"&gt;namespaces&lt;/link&gt; (or schemas for 
PostgreSQL)</doc>
+        <doc xml:space="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_NAMESPACES"&gt;namespaces&lt;/link&gt; (or schemas for 
PostgreSQL)</doc>
       </member>
       <member name="types" value="1" c:identifier="GDA_CONNECTION_META_TYPES">
-        <doc xml:whitespace="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_TYPES"&gt;database types&lt;/link&gt;</doc>
+        <doc xml:space="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_TYPES"&gt;database types&lt;/link&gt;</doc>
       </member>
       <member name="tables"
               value="2"
               c:identifier="GDA_CONNECTION_META_TABLES">
-        <doc xml:whitespace="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_TABLES"&gt;tables&lt;/link&gt;</doc>
+        <doc xml:space="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_TABLES"&gt;tables&lt;/link&gt;</doc>
       </member>
       <member name="views" value="3" c:identifier="GDA_CONNECTION_META_VIEWS">
-        <doc xml:whitespace="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_VIEWS"&gt;views&lt;/link&gt;</doc>
+        <doc xml:space="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_VIEWS"&gt;views&lt;/link&gt;</doc>
       </member>
       <member name="fields"
               value="4"
               c:identifier="GDA_CONNECTION_META_FIELDS">
-        <doc xml:whitespace="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_FIELDS"&gt;table's or view's fields&lt;/link&gt;</doc>
+        <doc xml:space="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_FIELDS"&gt;table's or view's fields&lt;/link&gt;</doc>
       </member>
       <member name="indexes"
               value="5"
               c:identifier="GDA_CONNECTION_META_INDEXES">
-        <doc xml:whitespace="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_INDEXES"&gt;table's indexes&lt;/link&gt;</doc>
+        <doc xml:space="preserve">lists the &lt;link 
linkend="GdaConnectionMetaTypeGDA_CONNECTION_META_INDEXES"&gt;table's indexes&lt;/link&gt;</doc>
       </member>
     </enumeration>
     <bitfield name="ConnectionOptions" c:type="GdaConnectionOptions">
-      <doc xml:whitespace="preserve">Specifies some aspects of a connection when opening it.
+      <doc xml:space="preserve">Specifies some aspects of a connection when opening it.
 
 Additional information about the GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE flag:
 &lt;itemizedlist&gt;
@@ -4655,32 +4851,40 @@ Note about the @GDA_CONNECTION_OPTIONS_AUTO_META_DATA flag:
            is not rolled back or committed, then the meta data may end up being 
wrong&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
       <member name="none" value="0" c:identifier="GDA_CONNECTION_OPTIONS_NONE">
-        <doc xml:whitespace="preserve">no specific aspect</doc>
+        <doc xml:space="preserve">no specific aspect</doc>
       </member>
       <member name="read_only"
               value="1"
               c:identifier="GDA_CONNECTION_OPTIONS_READ_ONLY">
-        <doc xml:whitespace="preserve">this flag specifies that the connection to open should be in a 
read-only mode (this policy is not correctly enforced at the moment)</doc>
+        <doc xml:space="preserve">this flag specifies that the connection to open should be in a read-only 
mode
+                                   (this policy is not correctly enforced at the moment)</doc>
       </member>
       <member name="sql_identifiers_case_sensitive"
               value="2"
               c:identifier="GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE">
-        <doc xml:whitespace="preserve">this flag specifies that SQL identifiers submitted as input to Libgda 
have to keep their case sensitivity.</doc>
+        <doc xml:space="preserve">this flag specifies that SQL identifiers submitted as input
+                                   to Libgda have to keep their case sensitivity.</doc>
       </member>
       <member name="thread_safe"
               value="4"
               c:identifier="GDA_CONNECTION_OPTIONS_THREAD_SAFE">
-        <doc xml:whitespace="preserve">this flag specifies that the connection to open will be used by 
several threads at once so it has to be thread safe</doc>
+        <doc xml:space="preserve">this flag specifies that the connection to open will be used
+                                    by several threads at once so it has to be thread safe</doc>
       </member>
       <member name="thread_isolated"
               value="8"
               c:identifier="GDA_CONNECTION_OPTIONS_THREAD_ISOLATED">
-        <doc xml:whitespace="preserve">this flag specifies that the connection to open will be used by 
several threads at once and requests that the real connection be used only in a sub thread created 
specifically for it</doc>
+        <doc xml:space="preserve">this flag specifies that the connection to open will be used
+                                    by several threads at once and requests that the real connection be used
+                                    only in a sub thread created specifically for it</doc>
       </member>
       <member name="auto_meta_data"
               value="16"
               c:identifier="GDA_CONNECTION_OPTIONS_AUTO_META_DATA">
-        <doc xml:whitespace="preserve">this flags specifies that if a #GdaMetaStore has been associated to 
the connection, then it is kept up to date with the evolutions in the database's structure. Be aware however 
that there are some drawbacks explained below.</doc>
+        <doc xml:space="preserve">this flags specifies that if a #GdaMetaStore has been associated
+                                    to the connection, then it is kept up to date with the evolutions in the
+                                    database's structure. Be aware however that there are some drawbacks
+                                    explained below.</doc>
       </member>
     </bitfield>
     <record name="ConnectionPrivate"
@@ -4696,15 +4900,15 @@ Note about the @GDA_CONNECTION_OPTIONS_AUTO_META_DATA flag:
            glib:type-struct="DataAccessWrapperClass">
       <implements name="DataModel"/>
       <function name="new" c:identifier="gda_data_access_wrapper_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel object which buffers the rows of @model. 
This object is useful
+        <doc xml:space="preserve">Creates a new #GdaDataModel object which buffers the rows of @model. This 
object is useful
 only if @model can only be accessed using cursor based method.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -4712,7 +4916,7 @@ only if @model can only be accessed using cursor based method.</doc>
       <method name="set_mapping"
               c:identifier="gda_data_access_wrapper_set_mapping"
               version="5.2">
-        <doc xml:whitespace="preserve">@wrapper will report as many columns as @mapping_size, and for each 
value at position 'i' in @mapping,
+        <doc xml:space="preserve">@wrapper will report as many columns as @mapping_size, and for each value 
at position 'i' in @mapping,
 @wrapper will report the 'i'th column, mapped to the wrapped data model column at position mapping[i].
 For example if mapping is {3, 4, 0}, then @wrapper will report 3 columns, respectively mapped to the 4th,
 5th and 1st columns of the wrapped data model (as column numbers start at 0).
@@ -4729,22 +4933,26 @@ access mode, then this method will return %FALSE and no action will be done.
 If the mapping is applied, then any existing iterator will be invalid, and @wrapper is reset as if it
 had just been created.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the mapping actually changed</doc>
+          <doc xml:space="preserve">%TRUE if the mapping actually changed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataAccessWrapper object</doc>
+            <doc xml:space="preserve">a #GdaDataAccessWrapper object</doc>
             <type name="DataAccessWrapper" c:type="GdaDataAccessWrapper*"/>
           </instance-parameter>
-          <parameter name="mapping" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array of #gint which represents the mapping between @wrapper's 
columns and the columns of the wrapped data model</doc>
+          <parameter name="mapping"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array of #gint which represents the mapping between @wrapper's 
columns
+and the columns of the wrapped data model</doc>
             <array length="1" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
           </parameter>
           <parameter name="mapping_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the size of @mapping.</doc>
+            <doc xml:space="preserve">the size of @mapping.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -4810,20 +5018,20 @@ had just been created.</doc>
            glib:get-type="gda_data_comparator_get_type"
            glib:type-struct="DataComparatorClass">
       <constructor name="new" c:identifier="gda_data_comparator_new">
-        <doc xml:whitespace="preserve">Creates a new comparator to compute the differences from @old_model 
to @new_model: if one applies
+        <doc xml:space="preserve">Creates a new comparator to compute the differences from @old_model to 
@new_model: if one applies
 all the computed differences (as #GdaDiff structures) to @old_model, the resulting data model
 should have the same contents as @new_model.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataComparator object</doc>
+          <doc xml:space="preserve">a new #GdaDataComparator object</doc>
           <type name="DataComparator" c:type="GObject*"/>
         </return-value>
         <parameters>
           <parameter name="old_model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Data model to which the modifications should be applied</doc>
+            <doc xml:space="preserve">Data model to which the modifications should be applied</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
           <parameter name="new_model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Target data model.</doc>
+            <doc xml:space="preserve">Target data model.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -4850,73 +5058,73 @@ should have the same contents as @new_model.</doc>
       <method name="compute_diff"
               c:identifier="gda_data_comparator_compute_diff"
               throws="1">
-        <doc xml:whitespace="preserve">Actually computes the differences between the data models for which 
@comp is defined. 
+        <doc xml:space="preserve">Actually computes the differences between the data models for which @comp 
is defined.
 
 For each difference computed, stored in a #GdaDiff structure, the "diff-computed" signal is emitted.
 If one connects to this signal and returns FALSE in the signal handler, then computing differences will be
 stopped and an error will be returned.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if all the differences have been successfully computed, and 
FALSE if an error occurred</doc>
+          <doc xml:space="preserve">TRUE if all the differences have been successfully computed, and FALSE 
if an error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="comp" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataComparator object</doc>
+            <doc xml:space="preserve">a #GdaDataComparator object</doc>
             <type name="DataComparator" c:type="GdaDataComparator*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_diff" c:identifier="gda_data_comparator_get_diff">
-        <doc xml:whitespace="preserve">Get a pointer to the #GdaDiff structure representing the difference 
which number is @pos</doc>
+        <doc xml:space="preserve">Get a pointer to the #GdaDiff structure representing the difference which 
number is @pos</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #GdaDiff, or %NULL if @pos is invalid</doc>
+          <doc xml:space="preserve">a pointer to a #GdaDiff, or %NULL if @pos is invalid</doc>
           <type name="Diff" c:type="const GdaDiff*"/>
         </return-value>
         <parameters>
           <instance-parameter name="comp" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataComparator object</doc>
+            <doc xml:space="preserve">a #GdaDataComparator object</doc>
             <type name="DataComparator" c:type="GdaDataComparator*"/>
           </instance-parameter>
           <parameter name="pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested difference number (starting at 0)</doc>
+            <doc xml:space="preserve">the requested difference number (starting at 0)</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_n_diffs"
               c:identifier="gda_data_comparator_get_n_diffs">
-        <doc xml:whitespace="preserve">Get the number of differences as computed by the last time 
gda_data_comparator_compute_diff() was called.</doc>
+        <doc xml:space="preserve">Get the number of differences as computed by the last time 
gda_data_comparator_compute_diff() was called.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of computed differences</doc>
+          <doc xml:space="preserve">the number of computed differences</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="comp" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataComparator object</doc>
+            <doc xml:space="preserve">a #GdaDataComparator object</doc>
             <type name="DataComparator" c:type="GdaDataComparator*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="set_key_columns"
               c:identifier="gda_data_comparator_set_key_columns">
-        <doc xml:whitespace="preserve">Defines the columns which will be used as a key when searching data. 
This is not mandatory but
+        <doc xml:space="preserve">Defines the columns which will be used as a key when searching data. This 
is not mandatory but
 will speed things up as less data will be processed.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="comp" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataComparator object</doc>
+            <doc xml:space="preserve">a #GdaDataComparator object</doc>
             <type name="DataComparator" c:type="GdaDataComparator*"/>
           </instance-parameter>
           <parameter name="col_numbers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of @nb_cols values</doc>
+            <doc xml:space="preserve">an array of @nb_cols values</doc>
             <array length="1" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
           </parameter>
           <parameter name="nb_cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the size of the @col_numbers array</doc>
+            <doc xml:space="preserve">the size of the @col_numbers array</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -5025,69 +5233,72 @@ will speed things up as less data will be processed.</doc>
       <function name="get_default"
                 c:identifier="gda_data_handler_get_default"
                 version="4.2.3">
-        <doc xml:whitespace="preserve">Obtain a pointer to a #GdaDataHandler which can manage #GValue values 
of type @for_type. The returned
+        <doc xml:space="preserve">Obtain a pointer to a #GdaDataHandler which can manage #GValue values of 
type @for_type. The returned
 data handler will be adapted to use the current locale information (for example dates will be formatted
 taking into account the locale).
 
 The returned pointer is %NULL if there is no default data handler available for the @for_type data type</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataHandler which must not be modified or destroyed.</doc>
+          <doc xml:space="preserve">a #GdaDataHandler which must not be modified or destroyed.</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
         <parameters>
           <parameter name="for_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType type</doc>
+            <doc xml:space="preserve">a #GType type</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </function>
       <virtual-method name="accepts_g_type" invoker="accepts_g_type">
-        <doc xml:whitespace="preserve">Checks wether the GdaDataHandler is able to handle the gda type given 
as argument.</doc>
+        <doc xml:space="preserve">Checks wether the GdaDataHandler is able to handle the gda type given as 
argument.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the gda type can be handled</doc>
+          <doc xml:space="preserve">%TRUE if the gda type can be handled</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_descr" invoker="get_descr">
-        <doc xml:whitespace="preserve">Get a short description of the GdaDataHandler</doc>
+        <doc xml:space="preserve">Get a short description of the GdaDataHandler</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the description</doc>
+          <doc xml:space="preserve">the description</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_sane_init_value" invoker="get_sane_init_value">
-        <doc xml:whitespace="preserve">Creates a new GValue which holds a sane initial value to be used if 
no value is specifically
+        <doc xml:space="preserve">Creates a new GValue which holds a sane initial value to be used if no 
value is specifically
 provided. For example for a simple string, this would return a new value containing the "" string.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
+          <doc xml:space="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_sql_from_value" invoker="get_sql_from_value">
-        <doc xml:whitespace="preserve">Creates a new string which is an SQL representation of the given 
value, the returned string
+        <doc xml:space="preserve">Creates a new string which is an SQL representation of the given value, 
the returned string
 can be used directly in an SQL statement. For example if @value is a G_TYPE_STRING, then
 the returned string will be correctly quoted. Note however that it is a better practice
 to use variables in statements instead of value literals, see
@@ -5096,39 +5307,49 @@ the &lt;link linkend="GdaSqlParser.description"&gt;GdaSqlParser&lt;/link&gt; for
 If the value is NULL or is of type GDA_TYPE_NULL,
 or is a G_TYPE_STRING and g_value_get_string() returns %NULL, the returned string is "NULL".</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the new string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the value to be converted to a string, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_str_from_value" invoker="get_str_from_value">
-        <doc xml:whitespace="preserve">Creates a new string which is a "user friendly" representation of the 
given value
-(in the user's locale, specially for the dates). If the value is 
-NULL or is of type GDA_TYPE_NULL, the returned string is a copy of "" (empty string).</doc>
+        <doc xml:space="preserve">Creates a new string which is a "user friendly" representation of the 
given value
+(in the user's locale, specially for the dates). If the value is
+NULL or is of type GDA_TYPE_NULL, the returned string is a copy of "" (empty string).
+
+Note: the returned value will be in the current locale representation.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the new string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the value to be converted to a string, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_value_from_sql" invoker="get_value_from_sql">
-        <doc xml:whitespace="preserve">Creates a new GValue which represents the SQL value given as 
argument. This is
+        <doc xml:space="preserve">Creates a new GValue which represents the SQL value given as argument. 
This is
 the opposite of the function gda_data_handler_get_sql_from_value(). The type argument
 is used to determine the real data type requested for the returned value.
 
@@ -5136,102 +5357,112 @@ If the @sql string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
 if the @sql string does not correspond to a valid SQL string for the requested type, then
 the %NULL is returned.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+          <doc xml:space="preserve">the new #GValue or %NULL on error</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="sql" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an SQL string, or %NULL</doc>
+          <parameter name="sql"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an SQL string, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a GType</doc>
+            <doc xml:space="preserve">a GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_value_from_str" invoker="get_value_from_str">
-        <doc xml:whitespace="preserve">Creates a new GValue which represents the @str value given as 
argument. This is
+        <doc xml:space="preserve">Creates a new GValue which represents the @str value given as argument. 
This is
 the opposite of the function gda_data_handler_get_str_from_value(). The type argument
 is used to determine the real data type requested for the returned value.
 
 If the @str string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
 if the @str string does not correspond to a valid string for the requested type, then
-%NULL is returned.</doc>
+%NULL is returned.
+
+Note: the @str string must be in the current locale representation</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+          <doc xml:space="preserve">the new #GValue or %NULL on error</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="str" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a string or %NULL</doc>
+          <parameter name="str"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a string or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a GType</doc>
+            <doc xml:space="preserve">a GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </virtual-method>
       <method name="accepts_g_type"
               c:identifier="gda_data_handler_accepts_g_type">
-        <doc xml:whitespace="preserve">Checks wether the GdaDataHandler is able to handle the gda type given 
as argument.</doc>
+        <doc xml:space="preserve">Checks wether the GdaDataHandler is able to handle the gda type given as 
argument.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the gda type can be handled</doc>
+          <doc xml:space="preserve">%TRUE if the gda type can be handled</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an object which implements the #GdaDataHandler interface</doc>
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_descr" c:identifier="gda_data_handler_get_descr">
-        <doc xml:whitespace="preserve">Get a short description of the GdaDataHandler</doc>
+        <doc xml:space="preserve">Get a short description of the GdaDataHandler</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the description</doc>
+          <doc xml:space="preserve">the description</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an object which implements the #GdaDataHandler interface</doc>
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_sane_init_value"
               c:identifier="gda_data_handler_get_sane_init_value">
-        <doc xml:whitespace="preserve">Creates a new GValue which holds a sane initial value to be used if 
no value is specifically
+        <doc xml:space="preserve">Creates a new GValue which holds a sane initial value to be used if no 
value is specifically
 provided. For example for a simple string, this would return a new value containing the "" string.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
+          <doc xml:space="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an object which implements the #GdaDataHandler interface</doc>
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_sql_from_value"
               c:identifier="gda_data_handler_get_sql_from_value">
-        <doc xml:whitespace="preserve">Creates a new string which is an SQL representation of the given 
value, the returned string
+        <doc xml:space="preserve">Creates a new string which is an SQL representation of the given value, 
the returned string
 can be used directly in an SQL statement. For example if @value is a G_TYPE_STRING, then
 the returned string will be correctly quoted. Note however that it is a better practice
 to use variables in statements instead of value literals, see
@@ -5240,43 +5471,51 @@ the &lt;link linkend="GdaSqlParser.description"&gt;GdaSqlParser&lt;/link&gt; for
 If the value is NULL or is of type GDA_TYPE_NULL,
 or is a G_TYPE_STRING and g_value_get_string() returns %NULL, the returned string is "NULL".</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the new string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an object which implements the #GdaDataHandler interface</doc>
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the value to be converted to a string, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_str_from_value"
               c:identifier="gda_data_handler_get_str_from_value">
-        <doc xml:whitespace="preserve">Creates a new string which is a "user friendly" representation of the 
given value
-(in the user's locale, specially for the dates). If the value is 
-NULL or is of type GDA_TYPE_NULL, the returned string is a copy of "" (empty string).</doc>
+        <doc xml:space="preserve">Creates a new string which is a "user friendly" representation of the 
given value
+(in the user's locale, specially for the dates). If the value is
+NULL or is of type GDA_TYPE_NULL, the returned string is a copy of "" (empty string).
+
+Note: the returned value will be in the current locale representation.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the new string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an object which implements the #GdaDataHandler interface</doc>
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the value to be converted to a string, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_value_from_sql"
               c:identifier="gda_data_handler_get_value_from_sql">
-        <doc xml:whitespace="preserve">Creates a new GValue which represents the SQL value given as 
argument. This is
+        <doc xml:space="preserve">Creates a new GValue which represents the SQL value given as argument. 
This is
 the opposite of the function gda_data_handler_get_sql_from_value(). The type argument
 is used to determine the real data type requested for the returned value.
 
@@ -5284,48 +5523,56 @@ If the @sql string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
 if the @sql string does not correspond to a valid SQL string for the requested type, then
 the %NULL is returned.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+          <doc xml:space="preserve">the new #GValue or %NULL on error</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an object which implements the #GdaDataHandler interface</doc>
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="sql" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an SQL string, or %NULL</doc>
+          <parameter name="sql"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an SQL string, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a GType</doc>
+            <doc xml:space="preserve">a GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_value_from_str"
               c:identifier="gda_data_handler_get_value_from_str">
-        <doc xml:whitespace="preserve">Creates a new GValue which represents the @str value given as 
argument. This is
+        <doc xml:space="preserve">Creates a new GValue which represents the @str value given as argument. 
This is
 the opposite of the function gda_data_handler_get_str_from_value(). The type argument
 is used to determine the real data type requested for the returned value.
 
 If the @str string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
 if the @str string does not correspond to a valid string for the requested type, then
-%NULL is returned.</doc>
+%NULL is returned.
+
+Note: the @str string must be in the current locale representation</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+          <doc xml:space="preserve">the new #GValue or %NULL on error</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an object which implements the #GdaDataHandler interface</doc>
+            <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </instance-parameter>
-          <parameter name="str" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a string or %NULL</doc>
+          <parameter name="str"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a string or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a GType</doc>
+            <doc xml:space="preserve">a GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
@@ -5340,15 +5587,19 @@ if the @str string does not correspond to a valid string for the requested type,
       <field name="get_sql_from_value">
         <callback name="get_sql_from_value">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+            <doc xml:space="preserve">the new string, or %NULL if an error occurred</doc>
             <type name="utf8" c:type="gchar*"/>
           </return-value>
           <parameters>
             <parameter name="dh" transfer-ownership="none">
+              <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
               <type name="DataHandler" c:type="GdaDataHandler*"/>
             </parameter>
-            <parameter name="value" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+            <parameter name="value"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">the value to be converted to a string, or %NULL</doc>
               <type name="GObject.Value" c:type="const GValue*"/>
             </parameter>
           </parameters>
@@ -5357,15 +5608,19 @@ if the @str string does not correspond to a valid string for the requested type,
       <field name="get_str_from_value">
         <callback name="get_str_from_value">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+            <doc xml:space="preserve">the new string, or %NULL if an error occurred</doc>
             <type name="utf8" c:type="gchar*"/>
           </return-value>
           <parameters>
             <parameter name="dh" transfer-ownership="none">
+              <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
               <type name="DataHandler" c:type="GdaDataHandler*"/>
             </parameter>
-            <parameter name="value" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+            <parameter name="value"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">the value to be converted to a string, or %NULL</doc>
               <type name="GObject.Value" c:type="const GValue*"/>
             </parameter>
           </parameters>
@@ -5374,19 +5629,23 @@ if the @str string does not correspond to a valid string for the requested type,
       <field name="get_value_from_sql">
         <callback name="get_value_from_sql">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+            <doc xml:space="preserve">the new #GValue or %NULL on error</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </return-value>
           <parameters>
             <parameter name="dh" transfer-ownership="none">
+              <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
               <type name="DataHandler" c:type="GdaDataHandler*"/>
             </parameter>
-            <parameter name="sql" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">an SQL string, or %NULL</doc>
+            <parameter name="sql"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">an SQL string, or %NULL</doc>
               <type name="utf8" c:type="const gchar*"/>
             </parameter>
             <parameter name="type" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a GType</doc>
+              <doc xml:space="preserve">a GType</doc>
               <type name="GType" c:type="GType"/>
             </parameter>
           </parameters>
@@ -5395,19 +5654,23 @@ if the @str string does not correspond to a valid string for the requested type,
       <field name="get_value_from_str">
         <callback name="get_value_from_str">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+            <doc xml:space="preserve">the new #GValue or %NULL on error</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </return-value>
           <parameters>
             <parameter name="dh" transfer-ownership="none">
+              <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
               <type name="DataHandler" c:type="GdaDataHandler*"/>
             </parameter>
-            <parameter name="str" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a string or %NULL</doc>
+            <parameter name="str"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a string or %NULL</doc>
               <type name="utf8" c:type="const gchar*"/>
             </parameter>
             <parameter name="type" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a GType</doc>
+              <doc xml:space="preserve">a GType</doc>
               <type name="GType" c:type="GType"/>
             </parameter>
           </parameters>
@@ -5416,15 +5679,16 @@ if the @str string does not correspond to a valid string for the requested type,
       <field name="get_sane_init_value">
         <callback name="get_sane_init_value">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
+            <doc xml:space="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </return-value>
           <parameters>
             <parameter name="dh" transfer-ownership="none">
+              <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
               <type name="DataHandler" c:type="GdaDataHandler*"/>
             </parameter>
             <parameter name="type" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GType</doc>
+              <doc xml:space="preserve">a #GType</doc>
               <type name="GType" c:type="GType"/>
             </parameter>
           </parameters>
@@ -5433,15 +5697,16 @@ if the @str string does not correspond to a valid string for the requested type,
       <field name="accepts_g_type">
         <callback name="accepts_g_type">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the gda type can be handled</doc>
+            <doc xml:space="preserve">%TRUE if the gda type can be handled</doc>
             <type name="gboolean" c:type="gboolean"/>
           </return-value>
           <parameters>
             <parameter name="dh" transfer-ownership="none">
+              <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
               <type name="DataHandler" c:type="GdaDataHandler*"/>
             </parameter>
             <parameter name="type" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GType</doc>
+              <doc xml:space="preserve">a #GType</doc>
               <type name="GType" c:type="GType"/>
             </parameter>
           </parameters>
@@ -5450,11 +5715,12 @@ if the @str string does not correspond to a valid string for the requested type,
       <field name="get_descr">
         <callback name="get_descr">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the description</doc>
+            <doc xml:space="preserve">the description</doc>
             <type name="utf8" c:type="const gchar*"/>
           </return-value>
           <parameters>
             <parameter name="dh" transfer-ownership="none">
+              <doc xml:space="preserve">an object which implements the #GdaDataHandler interface</doc>
               <type name="DataHandler" c:type="GdaDataHandler*"/>
             </parameter>
           </parameters>
@@ -5493,17 +5759,18 @@ if the @str string does not correspond to a valid string for the requested type,
         </parameters>
       </virtual-method>
       <virtual-method name="i_append_row" invoker="append_row" throws="1">
-        <doc xml:whitespace="preserve">Appends a row to the data model (the new row will possibly have NULL 
values for all columns,
+        <doc xml:space="preserve">Appends a row to the data model (the new row will possibly have NULL 
values for all columns,
 or some other values depending on the data model implementation)
 
 Upon errors -1 will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+          <doc xml:space="preserve">the number of the added row, or -1 if an error occurred</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
@@ -5511,21 +5778,27 @@ Upon errors -1 will be returned and @error will be assigned a
       <virtual-method name="i_append_values"
                       invoker="append_values"
                       throws="1">
-        <doc xml:whitespace="preserve">Appends a row to the given data model. If any value in @values is 
actually %NULL, then 
+        <doc xml:space="preserve">Appends a row to the given data model. If any value in @values is actually 
%NULL, then
 it is considered as a default value. If @values is %NULL then all values are set to their default value.
 
 Upon errors -1 will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+          <doc xml:space="preserve">the number of the added row, or -1 if an error occurred</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
-          <parameter name="values" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">#GList of #GValue* representing the row to add.  The length must 
match model's column count.  These #GValue are value-copied (the user is still responsible for freeing 
them).</doc>
+          <parameter name="values"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">#GList of #GValue* representing the row to add.  The
+         length must match model's column count.  These #GValue
+    are value-copied (the user is still responsible for freeing them).</doc>
             <type name="GLib.List" c:type="const GList*">
               <type name="GObject.Value"/>
             </type>
@@ -5533,7 +5806,7 @@ Upon errors -1 will be returned and @error will be assigned a
         </parameters>
       </virtual-method>
       <virtual-method name="i_create_iter" invoker="create_iter">
-        <doc xml:whitespace="preserve">Creates a new iterator object #GdaDataModelIter object which can be 
used to iterate through
+        <doc xml:space="preserve">Creates a new iterator object #GdaDataModelIter object which can be used 
to iterate through
 rows in @model. The new #GdaDataModelIter does not hold any reference to @model (ie. if @model
 is destroyed at some point, the new iterator will become useless but in any case it will not prevent
 the data model from being destroyed).
@@ -5545,8 +5818,8 @@ with a cursor access mode specified), then this method will always return the sa
 
 If a new #GdaDataModelIter is created, then the row it represents is undefined.
 
-For models which can be accessed 
-randomly, any row can be set using gda_data_model_iter_move_to_row(), 
+For models which can be accessed
+randomly, any row can be set using gda_data_model_iter_move_to_row(),
 and for models which are accessible sequentially only then use
 gda_data_model_iter_move_next() (and gda_data_model_iter_move_prev() if
 supported).
@@ -5557,17 +5830,18 @@ in which only the columns of the proxied data model appear. If you need to have
 in which all the proxy's columns appear, create it using:
 &lt;programlisting&gt;&lt;![CDATA[iter = g_object_new (GDA_TYPE_DATA_MODEL_ITER, "data-model", proxy, 
NULL);]]&gt;&lt;/programlisting&gt;</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
           <type name="DataModelIter" c:type="GdaDataModelIter*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_describe_column" invoker="describe_column">
-        <doc xml:whitespace="preserve">Queries the underlying data model implementation for a description
+        <doc xml:space="preserve">Queries the underlying data model implementation for a description
 of a given column. That description is returned in the form of
 a #GdaColumn structure, which contains all the information
 about the given column in the data model.
@@ -5575,40 +5849,42 @@ about the given column in the data model.
 WARNING: the returned #GdaColumn object belongs to the @model model and
 and should not be destroyed; any modification will affect the whole data model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the description of the column.</doc>
+          <doc xml:space="preserve">the description of the column.</doc>
           <type name="Column" c:type="GdaColumn*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number.</doc>
+            <doc xml:space="preserve">column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_find_row" invoker="get_row_from_values">
-        <doc xml:whitespace="preserve">Returns the first row where all the values in @values at the columns 
identified at
+        <doc xml:space="preserve">Returns the first row where all the values in @values at the columns 
identified at
 @cols_index match. If the row can't be identified, then returns -1;
 
 NOTE: the @cols_index array MUST contain a column index for each value in @values</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested row number, of -1 if not found</doc>
+          <doc xml:space="preserve">the requested row number, of -1 if not found</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of #GValue values (no %NULL is allowed)</doc>
+            <doc xml:space="preserve">a list of #GValue values (no %NULL is allowed)</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="GObject.Value"/>
             </type>
           </parameter>
           <parameter name="cols_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of #gint containing the column number to match each 
value of @values</doc>
+            <doc xml:space="preserve">an array of #gint containing the column number to match each value of 
@values</doc>
             <array zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
@@ -5616,36 +5892,38 @@ NOTE: the @cols_index array MUST contain a column index for each value in @value
         </parameters>
       </virtual-method>
       <virtual-method name="i_get_access_flags" invoker="get_access_flags">
-        <doc xml:whitespace="preserve">Get the attributes of @model such as how to access the data it 
contains if it's modifiable, etc.</doc>
+        <doc xml:space="preserve">Get the attributes of @model such as how to access the data it contains if 
it's modifiable, etc.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
+          <doc xml:space="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
           <type name="DataModelAccessFlags" c:type="GdaDataModelAccessFlags"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_get_attributes_at" invoker="get_attributes_at">
-        <doc xml:whitespace="preserve">Get the attributes of the value stored at (row, col) in @model, which
+        <doc xml:space="preserve">Get the attributes of the value stored at (row, col) in @model, which
 is an ORed value of #GdaValueAttribute flags. As a special case, if
 @row is -1, then the attributes returned correspond to a "would be" value
 if a row was added to @model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
+          <doc xml:space="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
           <type name="ValueAttribute" c:type="GdaValueAttribute"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid column number</doc>
+            <doc xml:space="preserve">a valid column number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid row number, or -1</doc>
+            <doc xml:space="preserve">a valid row number, or -1</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -5653,57 +5931,61 @@ if a row was added to @model.</doc>
       <virtual-method name="i_get_exceptions"
                       invoker="get_exceptions"
                       version="4.2.6">
-        <doc xml:whitespace="preserve">Get the global data model exception(s) that occurred when using 
@model.
+        <doc xml:space="preserve">Get the global data model exception(s) that occurred when using @model.
 This is useful for example for the LDAP related
 data models where some rows may be missing because the LDAP search has reached a limit
 imposed by the LDAP server.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
+          <doc xml:space="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
           <array c:type="GError**">
             <type name="GLib.Error"/>
           </array>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_get_n_columns" invoker="get_n_columns">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns in the given data model, or -1 if 
unknown.</doc>
+          <doc xml:space="preserve">the number of columns in the given data model, or -1 if unknown.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_get_n_rows" invoker="get_n_rows">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of rows in the given data model, or -1 if the number of 
rows is not known</doc>
+          <doc xml:space="preserve">the number of rows in the given data model, or -1 if the number of rows 
is not known</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_get_notify" invoker="get_notify">
-        <doc xml:whitespace="preserve">Returns the status of notifications changes on the given data 
model.</doc>
+        <doc xml:space="preserve">Returns the status of notifications changes on the given data model.</doc>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_get_value_at" invoker="get_value_at" throws="1">
-        <doc xml:whitespace="preserve">Retrieves the data stored in the given position (identified by
+        <doc xml:space="preserve">Retrieves the data stored in the given position (identified by
 the @col and @row parameters) on a data model.
 
 Upon errors %NULL will be returned and @error will be assigned a
@@ -5721,202 +6003,218 @@ which means if you want to keep the value, a copy must be made, however it will
 as long as the only Libgda usage is calling gda_data_model_get_value_at() for different values
 of the same row.
 
-If you want to modify a value stored in a #GdaDataModel, use the gda_data_model_set_value_at() or 
+If you want to modify a value stored in a #GdaDataModel, use the gda_data_model_set_value_at() or
 gda_data_model_set_values() methods.
 
 Upon errors %NULL will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue containing the value stored in the given position, or 
%NULL on error (out-of-bound position, etc).</doc>
+          <doc xml:space="preserve">a #GValue containing the value stored in the given
+position, or %NULL on error (out-of-bound position, etc).</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid column number.</doc>
+            <doc xml:space="preserve">a valid column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid row number.</doc>
+            <doc xml:space="preserve">a valid row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_iter_at_row"
                       invoker="iter_at_row"
-                      deprecated="use gda_data_model_iter_move_to_row() instead"
+                      deprecated="1"
                       deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Moves @iter to the row number given by @row.</doc>
+        <doc xml:space="preserve">Moves @iter to the row number given by @row.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_move_to_row() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a row to point to with @iter</doc>
+            <doc xml:space="preserve">a row to point to with @iter</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_iter_next"
                       invoker="iter_next"
-                      deprecated="use gda_data_model_iter_move_next() instead"
+                      deprecated="1"
                       deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Moves @iter to the next row in @model.</doc>
+        <doc xml:space="preserve">Moves @iter to the next row in @model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_move_next() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_iter_prev"
                       invoker="iter_prev"
-                      deprecated="use gda_data_model_iter_move_prev() instead"
+                      deprecated="1"
                       deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Moves @iter to the next row in @model.</doc>
+        <doc xml:space="preserve">Moves @iter to the next row in @model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_move_prev() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_iter_set_value"
                       invoker="iter_set_value"
-                      deprecated="use gda_data_model_iter_set_value_at() instead"
+                      deprecated="1"
                       deprecated-version="5.2"
                       throws="1">
-        <doc xml:whitespace="preserve">Set @value to the given @column and row pointed by @iter in the given 
@model.</doc>
+        <doc xml:space="preserve">Set @value to the given @column and row pointed by @iter in the given 
@model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_set_value_at() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of column to set value to</doc>
+            <doc xml:space="preserve">the number of column to set value to</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the to use to set on</doc>
+            <doc xml:space="preserve">the to use to set on</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_remove_row" invoker="remove_row" throws="1">
-        <doc xml:whitespace="preserve">Removes a row from the data model.
+        <doc xml:space="preserve">Removes a row from the data model.
 
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+          <doc xml:space="preserve">%TRUE if successful, %FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row number to be removed.</doc>
+            <doc xml:space="preserve">the row number to be removed.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_send_hint" invoker="send_hint">
-        <doc xml:whitespace="preserve">Sends a hint to the data model. The hint may or may not be handled by 
the data
+        <doc xml:space="preserve">Sends a hint to the data model. The hint may or may not be handled by the 
data
 model, depending on its implementation</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="hint" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a hint to send to the model</doc>
+            <doc xml:space="preserve">a hint to send to the model</doc>
             <type name="DataModelHint" c:type="GdaDataModelHint"/>
           </parameter>
           <parameter name="hint_value"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">an optional value to specify the hint, or %NULL</doc>
+            <doc xml:space="preserve">an optional value to specify the hint, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_set_notify"
                       invoker="set_notify"
-                      deprecated="use gda_data_model_freeze() and gda_data_model_thaw() instead"
+                      deprecated="1"
                       deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Enable or disable notifications changes on the given data model.</doc>
+        <doc xml:space="preserve">Enable or disable notifications changes on the given data model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_freeze() and gda_data_model_thaw() 
instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="do_notify_changes" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Set to TRUE if you require notifications.</doc>
+            <doc xml:space="preserve">Set to TRUE if you require notifications.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_set_value_at" invoker="set_value_at" throws="1">
-        <doc xml:whitespace="preserve">Modifies a value in @model, at (@col, @row).
+        <doc xml:space="preserve">Modifies a value in @model, at (@col, @row).
 
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the value in the data model has been updated and no error 
occurred</doc>
+          <doc xml:space="preserve">TRUE if the value in the data model has been updated and no error 
occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number.</doc>
+            <doc xml:space="preserve">column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+            <doc xml:space="preserve">a #GValue (not %NULL)</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="i_set_values" invoker="set_values" throws="1">
-        <doc xml:whitespace="preserve">In a similar way to gda_data_model_set_value_at(), this method 
modifies a data model's contents
+        <doc xml:space="preserve">In a similar way to gda_data_model_set_value_at(), this method modifies a 
data model's contents
 by setting several values at once.
 
 If any value in @values is actually %NULL, then the value in the corresponding column is left
@@ -5925,19 +6223,23 @@ unchanged.
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the value in the data model has been updated and no error 
occurred</doc>
+          <doc xml:space="preserve">%TRUE if the value in the data model has been updated and no error 
occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="values" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a list of #GValue (or %NULL), one for at most the number of 
columns of @model</doc>
+          <parameter name="values"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a list of #GValue (or %NULL), one for at most the number of columns of 
@model</doc>
             <type name="GLib.List" c:type="GList*">
               <type name="GObject.Value"/>
             </type>
@@ -5945,66 +6247,70 @@ Upon errors FALSE will be returned and @error will be assigned a
         </parameters>
       </virtual-method>
       <virtual-method name="reset" invoker="reset">
-        <doc xml:whitespace="preserve">Emits the 'reset' and 'changed' signal on @model.</doc>
+        <doc xml:space="preserve">Emits the 'reset' and 'changed' signal on @model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="row_inserted" invoker="row_inserted">
-        <doc xml:whitespace="preserve">Emits the 'row_inserted' and 'changed' signals on @model. 
+        <doc xml:space="preserve">Emits the 'row_inserted' and 'changed' signals on @model.
 
-This method should only be used by #GdaDataModel implementations to 
+This method should only be used by #GdaDataModel implementations to
 signal that a row has been inserted.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="row_removed" invoker="row_removed">
-        <doc xml:whitespace="preserve">Emits the 'row_removed' and 'changed' signal on @model.
+        <doc xml:space="preserve">Emits the 'row_removed' and 'changed' signal on @model.
 
-This method should only be used by #GdaDataModel implementations to 
+This method should only be used by #GdaDataModel implementations to
 signal that a row has been removed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="row_updated" invoker="row_updated">
-        <doc xml:whitespace="preserve">Emits the 'row_updated' and 'changed' signals on @model.
+        <doc xml:space="preserve">Emits the 'row_updated' and 'changed' signals on @model.
 
-This method should only be used by #GdaDataModel implementations to 
+This method should only be used by #GdaDataModel implementations to
 signal that a row has been updated.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -6012,22 +6318,22 @@ signal that a row has been updated.</doc>
       <method name="add_data_from_xml_node"
               c:identifier="gda_data_model_add_data_from_xml_node"
               throws="1">
-        <doc xml:whitespace="preserve">Adds the data from an XML node to the given data model (see the DTD 
for that node
+        <doc xml:space="preserve">Adds the data from an XML node to the given data model (see the DTD for 
that node
 in the $prefix/share/libgda/dtd/libgda-array.dtd file).
 
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+          <doc xml:space="preserve">%TRUE if successful, %FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel.</doc>
+            <doc xml:space="preserve">a #GdaDataModel.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an XML node representing a &amp;lt;gda_array_data&amp;gt; XML 
node.</doc>
+            <doc xml:space="preserve">an XML node representing a &amp;lt;gda_array_data&amp;gt; XML 
node.</doc>
             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
           </parameter>
         </parameters>
@@ -6035,18 +6341,18 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="append_row"
               c:identifier="gda_data_model_append_row"
               throws="1">
-        <doc xml:whitespace="preserve">Appends a row to the data model (the new row will possibly have NULL 
values for all columns,
+        <doc xml:space="preserve">Appends a row to the data model (the new row will possibly have NULL 
values for all columns,
 or some other values depending on the data model implementation)
 
 Upon errors -1 will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+          <doc xml:space="preserve">the number of the added row, or -1 if an error occurred</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
@@ -6054,22 +6360,27 @@ Upon errors -1 will be returned and @error will be assigned a
       <method name="append_values"
               c:identifier="gda_data_model_append_values"
               throws="1">
-        <doc xml:whitespace="preserve">Appends a row to the given data model. If any value in @values is 
actually %NULL, then 
+        <doc xml:space="preserve">Appends a row to the given data model. If any value in @values is actually 
%NULL, then
 it is considered as a default value. If @values is %NULL then all values are set to their default value.
 
 Upon errors -1 will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+          <doc xml:space="preserve">the number of the added row, or -1 if an error occurred</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
-          <parameter name="values" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">#GList of #GValue* representing the row to add.  The length must 
match model's column count.  These #GValue are value-copied (the user is still responsible for freeing 
them).</doc>
+          <parameter name="values"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">#GList of #GValue* representing the row to add.  The
+         length must match model's column count.  These #GValue
+    are value-copied (the user is still responsible for freeing them).</doc>
             <type name="GLib.List" c:type="const GList*">
               <type name="GObject.Value"/>
             </type>
@@ -6079,14 +6390,14 @@ Upon errors -1 will be returned and @error will be assigned a
       <method name="array_copy_model"
               c:identifier="gda_data_model_array_copy_model"
               throws="1">
-        <doc xml:whitespace="preserve">Makes a copy of @src into a new #GdaDataModelArray object</doc>
+        <doc xml:space="preserve">Makes a copy of @src into a new #GdaDataModelArray object</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new data model, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new data model, or %NULL if an error occurred</doc>
           <type name="DataModelArray" c:type="GdaDataModelArray*"/>
         </return-value>
         <parameters>
           <instance-parameter name="src" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel to copy data from</doc>
+            <doc xml:space="preserve">a #GdaDataModel to copy data from</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
@@ -6095,23 +6406,23 @@ Upon errors -1 will be returned and @error will be assigned a
               c:identifier="gda_data_model_array_copy_model_ext"
               version="5.2.0"
               throws="1">
-        <doc xml:whitespace="preserve">Like gda_data_model_array_copy_model(), makes a copy of @src, but 
copies only some
+        <doc xml:space="preserve">Like gda_data_model_array_copy_model(), makes a copy of @src, but copies 
only some
 columns.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new data model, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new data model, or %NULL if an error occurred</doc>
           <type name="DataModelArray" c:type="GdaDataModelArray*"/>
         </return-value>
         <parameters>
           <instance-parameter name="src" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel to copy data from</doc>
+            <doc xml:space="preserve">a #GdaDataModel to copy data from</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="ncols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">size of @cols</doc>
+            <doc xml:space="preserve">size of @cols</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">array of @src's columns to copy into the new array, not 
%NULL</doc>
+            <doc xml:space="preserve">array of @src's columns to copy into the new array, not %NULL</doc>
             <array length="0" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
@@ -6119,7 +6430,7 @@ columns.</doc>
         </parameters>
       </method>
       <method name="create_iter" c:identifier="gda_data_model_create_iter">
-        <doc xml:whitespace="preserve">Creates a new iterator object #GdaDataModelIter object which can be 
used to iterate through
+        <doc xml:space="preserve">Creates a new iterator object #GdaDataModelIter object which can be used 
to iterate through
 rows in @model. The new #GdaDataModelIter does not hold any reference to @model (ie. if @model
 is destroyed at some point, the new iterator will become useless but in any case it will not prevent
 the data model from being destroyed).
@@ -6131,8 +6442,8 @@ with a cursor access mode specified), then this method will always return the sa
 
 If a new #GdaDataModelIter is created, then the row it represents is undefined.
 
-For models which can be accessed 
-randomly, any row can be set using gda_data_model_iter_move_to_row(), 
+For models which can be accessed
+randomly, any row can be set using gda_data_model_iter_move_to_row(),
 and for models which are accessible sequentially only then use
 gda_data_model_iter_move_next() (and gda_data_model_iter_move_prev() if
 supported).
@@ -6143,19 +6454,19 @@ in which only the columns of the proxied data model appear. If you need to have
 in which all the proxy's columns appear, create it using:
 &lt;programlisting&gt;&lt;![CDATA[iter = g_object_new (GDA_TYPE_DATA_MODEL_ITER, "data-model", proxy, 
NULL);]]&gt;&lt;/programlisting&gt;</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
           <type name="DataModelIter" c:type="GdaDataModelIter*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="describe_column"
               c:identifier="gda_data_model_describe_column">
-        <doc xml:whitespace="preserve">Queries the underlying data model implementation for a description
+        <doc xml:space="preserve">Queries the underlying data model implementation for a description
 of a given column. That description is returned in the form of
 a #GdaColumn structure, which contains all the information
 about the given column in the data model.
@@ -6163,22 +6474,22 @@ about the given column in the data model.
 WARNING: the returned #GdaColumn object belongs to the @model model and
 and should not be destroyed; any modification will affect the whole data model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the description of the column.</doc>
+          <doc xml:space="preserve">the description of the column.</doc>
           <type name="Column" c:type="GdaColumn*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number.</doc>
+            <doc xml:space="preserve">column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="dump" c:identifier="gda_data_model_dump">
-        <doc xml:whitespace="preserve">Dumps a textual representation of the @model to the @to_stream stream
+        <doc xml:space="preserve">Dumps a textual representation of the @model to the @to_stream stream
 
 The following environment variables can affect the resulting output:
 &lt;itemizedlist&gt;
@@ -6193,18 +6504,18 @@ The following environment variables can affect the resulting output:
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel.</doc>
+            <doc xml:space="preserve">a #GdaDataModel.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="to_stream" transfer-ownership="none">
-            <doc xml:whitespace="preserve">where to dump the data model</doc>
+            <doc xml:space="preserve">where to dump the data model</doc>
             <type name="gpointer" c:type="FILE*"/>
           </parameter>
         </parameters>
       </method>
       <method name="dump_as_string"
               c:identifier="gda_data_model_dump_as_string">
-        <doc xml:whitespace="preserve">Dumps a textual representation of the @model into a new string. The 
main differences with gda_data_model_export_to_string() are that
+        <doc xml:space="preserve">Dumps a textual representation of the @model into a new string. The main 
differences with gda_data_model_export_to_string() are that
 the formatting options are passed using environment variables, and that the data is dumped regardless of the 
user locale (e.g. dates
 are not formatted according to the locale).
 
@@ -6216,12 +6527,12 @@ The following environment variables can affect the resulting output:
   &lt;listitem&gt;&lt;para&gt;GDA_DATA_MODEL_DUMP_TRUNCATE: if set to a numeric value, truncates the output 
to the width specified by the value. If the value is -1 then the actual terminal size (if it can be 
determined) is used&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string.</doc>
+          <doc xml:space="preserve">a new string.</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel.</doc>
+            <doc xml:space="preserve">a #GdaDataModel.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
@@ -6229,7 +6540,10 @@ The following environment variables can affect the resulting output:
       <method name="export_to_file"
               c:identifier="gda_data_model_export_to_file"
               throws="1">
-        <doc xml:whitespace="preserve">Exports data contained in @model to the @file file; the format is 
specified using the @format argument.
+        <doc xml:space="preserve">Exports data contained in @model to the @file file; the format is 
specified using the @format argument. Note that
+the date format used is the one used by the connection from which the data model has been made (as the 
result of a
+SELECT statement), or, for other kinds of data models, the default format (refer to 
gda_data_handler_get_default()) unless
+the "cnc" property has been set and points to a #GdaConnection to use that connection's date format.
 
 Specifically, the parameters in the @options list can be:
 &lt;itemizedlist&gt;
@@ -6237,7 +6551,7 @@ Specifically, the parameters in the @options list can be:
             &lt;/para&gt;&lt;/listitem&gt;
   &lt;listitem&gt;&lt;para&gt;"QUOTE": a string value of which the first character is used as a quote 
character in case of CSV export. The
             default if not specified is the double quote character&lt;/para&gt;&lt;/listitem&gt;
-  &lt;listitem&gt;&lt;para&gt;"FIELD_QUOTE": a boolean value which can be set to FALSE if no quote around 
the individual fields 
+  &lt;listitem&gt;&lt;para&gt;"FIELD_QUOTE": a boolean value which can be set to FALSE if no quote around 
the individual fields
             is requeted, in case of CSV export&lt;/para&gt;&lt;/listitem&gt;
   &lt;listitem&gt;&lt;para&gt;"NAMES_ON_FIRST_LINE": a boolean value which, if set to %TRUE and in case of a 
CSV or %GDA_DATA_MODEL_IO_TEXT_TABLE export, will add a first line with the name each exported field (note 
that "FIELDS_NAME" is also accepted as a synonym)&lt;/para&gt;&lt;/listitem&gt;
   &lt;listitem&gt;&lt;para&gt;"NAME": a string value used to name the exported data if the export format is 
XML or %GDA_DATA_MODEL_IO_TEXT_TABLE&lt;/para&gt;&lt;/listitem&gt;
@@ -6262,51 +6576,57 @@ another row).
 Upon errors %FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="format" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the format in which to export data</doc>
+            <doc xml:space="preserve">the format in which to export data</doc>
             <type name="DataModelIOFormat" c:type="GdaDataModelIOFormat"/>
           </parameter>
           <parameter name="file" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the filename to export to</doc>
+            <doc xml:space="preserve">the filename to export to</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="cols" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array containing which columns of @model will be exported, or 
%NULL for all columns</doc>
+          <parameter name="cols"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array containing which columns of @model will be exported, or %NULL 
for all columns</doc>
             <array length="3" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
           </parameter>
           <parameter name="nb_cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns in @cols</doc>
+            <doc xml:space="preserve">the number of columns in @cols</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="rows" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array containing which rows of @model will be exported, or 
%NULL for all rows</doc>
+          <parameter name="rows"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array containing which rows of @model will be exported, or %NULL 
for all rows</doc>
             <array length="5" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
           </parameter>
           <parameter name="nb_rows" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of rows in @rows</doc>
+            <doc xml:space="preserve">the number of rows in @rows</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">list of options for the export</doc>
+            <doc xml:space="preserve">list of options for the export</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </method>
       <method name="export_to_string"
               c:identifier="gda_data_model_export_to_string">
-        <doc xml:whitespace="preserve">Exports data contained in @model to a string; the format is specified 
using the @format argument, see the
+        <doc xml:space="preserve">Exports data contained in @model to a string; the format is specified 
using the @format argument, see the
 gda_data_model_export_to_file() documentation for more information about the @options argument (except for 
the
 "OVERWRITE" option).
 
@@ -6317,46 +6637,52 @@ another row).
 
 See also gda_data_model_dump_as_string();</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, use g_free() when no longer needed</doc>
+          <doc xml:space="preserve">a new string, use g_free() when no longer needed</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="format" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the format in which to export data</doc>
+            <doc xml:space="preserve">the format in which to export data</doc>
             <type name="DataModelIOFormat" c:type="GdaDataModelIOFormat"/>
           </parameter>
-          <parameter name="cols" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array containing which columns of @model will be exported, or 
%NULL for all columns</doc>
+          <parameter name="cols"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array containing which columns of @model will be exported, or %NULL 
for all columns</doc>
             <array length="2" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
           </parameter>
           <parameter name="nb_cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns in @cols</doc>
+            <doc xml:space="preserve">the number of columns in @cols</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="rows" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an array containing which rows of @model will be exported, or 
%NULL for all rows</doc>
+          <parameter name="rows"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an array containing which rows of @model will be exported, or %NULL 
for all rows</doc>
             <array length="4" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
           </parameter>
           <parameter name="nb_rows" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of rows in @rows</doc>
+            <doc xml:space="preserve">the number of rows in @rows</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">list of options for the export</doc>
+            <doc xml:space="preserve">list of options for the export</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </method>
       <method name="freeze" c:identifier="gda_data_model_freeze">
-        <doc xml:whitespace="preserve">Disables notifications of changes on the given data model. To
+        <doc xml:space="preserve">Disables notifications of changes on the given data model. To
 re-enable notifications again, you should call the
 #gda_data_model_thaw function.</doc>
         <return-value transfer-ownership="none">
@@ -6364,64 +6690,64 @@ re-enable notifications again, you should call the
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_access_flags"
               c:identifier="gda_data_model_get_access_flags">
-        <doc xml:whitespace="preserve">Get the attributes of @model such as how to access the data it 
contains if it's modifiable, etc.</doc>
+        <doc xml:space="preserve">Get the attributes of @model such as how to access the data it contains if 
it's modifiable, etc.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
+          <doc xml:space="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
           <type name="DataModelAccessFlags" c:type="GdaDataModelAccessFlags"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_attributes_at"
               c:identifier="gda_data_model_get_attributes_at">
-        <doc xml:whitespace="preserve">Get the attributes of the value stored at (row, col) in @model, which
+        <doc xml:space="preserve">Get the attributes of the value stored at (row, col) in @model, which
 is an ORed value of #GdaValueAttribute flags. As a special case, if
 @row is -1, then the attributes returned correspond to a "would be" value
 if a row was added to @model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
+          <doc xml:space="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
           <type name="ValueAttribute" c:type="GdaValueAttribute"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
+            <doc xml:space="preserve">a #GdaDataModel object</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid column number</doc>
+            <doc xml:space="preserve">a valid column number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid row number, or -1</doc>
+            <doc xml:space="preserve">a valid row number, or -1</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_column_index"
               c:identifier="gda_data_model_get_column_index">
-        <doc xml:whitespace="preserve">Get the index of the first column named @name in @model.</doc>
+        <doc xml:space="preserve">Get the index of the first column named @name in @model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the column index, or -1 if no column named @name was found</doc>
+          <doc xml:space="preserve">the column index, or -1 if no column named @name was found</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a column name</doc>
+            <doc xml:space="preserve">a column name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -6430,16 +6756,16 @@ if a row was added to @model.</doc>
               c:identifier="gda_data_model_get_column_name"
               version="3.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name for the given column in a data model object.</doc>
+          <doc xml:space="preserve">the name for the given column in a data model object.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number.</doc>
+            <doc xml:space="preserve">column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -6447,16 +6773,16 @@ if a row was added to @model.</doc>
       <method name="get_column_title"
               c:identifier="gda_data_model_get_column_title">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the title for the given column in a data model object.</doc>
+          <doc xml:space="preserve">the title for the given column in a data model object.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number.</doc>
+            <doc xml:space="preserve">column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -6464,82 +6790,82 @@ if a row was added to @model.</doc>
       <method name="get_exceptions"
               c:identifier="gda_data_model_get_exceptions"
               version="4.2.6">
-        <doc xml:whitespace="preserve">Get the global data model exception(s) that occurred when using 
@model.
+        <doc xml:space="preserve">Get the global data model exception(s) that occurred when using @model.
 This is useful for example for the LDAP related
 data models where some rows may be missing because the LDAP search has reached a limit
 imposed by the LDAP server.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
+          <doc xml:space="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
           <array c:type="GError**">
             <type name="GLib.Error"/>
           </array>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_n_columns" c:identifier="gda_data_model_get_n_columns">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns in the given data model, or -1 if 
unknown.</doc>
+          <doc xml:space="preserve">the number of columns in the given data model, or -1 if unknown.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_n_rows" c:identifier="gda_data_model_get_n_rows">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of rows in the given data model, or -1 if the number of 
rows is not known</doc>
+          <doc xml:space="preserve">the number of rows in the given data model, or -1 if the number of rows 
is not known</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_notify" c:identifier="gda_data_model_get_notify">
-        <doc xml:whitespace="preserve">Returns the status of notifications changes on the given data 
model.</doc>
+        <doc xml:space="preserve">Returns the status of notifications changes on the given data model.</doc>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_row_from_values"
               c:identifier="gda_data_model_get_row_from_values">
-        <doc xml:whitespace="preserve">Returns the first row where all the values in @values at the columns 
identified at
+        <doc xml:space="preserve">Returns the first row where all the values in @values at the columns 
identified at
 @cols_index match. If the row can't be identified, then returns -1;
 
 NOTE: the @cols_index array MUST contain a column index for each value in @values</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested row number, of -1 if not found</doc>
+          <doc xml:space="preserve">the requested row number, of -1 if not found</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of #GValue values (no %NULL is allowed)</doc>
+            <doc xml:space="preserve">a list of #GValue values (no %NULL is allowed)</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="GObject.Value"/>
             </type>
           </parameter>
           <parameter name="cols_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of #gint containing the column number to match each 
value of @values</doc>
+            <doc xml:space="preserve">an array of #gint containing the column number to match each value of 
@values</doc>
             <array zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
@@ -6549,7 +6875,7 @@ NOTE: the @cols_index array MUST contain a column index for each value in @value
       <method name="get_typed_value_at"
               c:identifier="gda_data_model_get_typed_value_at"
               throws="1">
-        <doc xml:whitespace="preserve">Upon errors %NULL will be returned and @error will be assigned a
+        <doc xml:space="preserve">Upon errors %NULL will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.
 
 This method is similar to gda_data_model_get_value_at(), except that it also allows one to specify the 
expected
@@ -6561,28 +6887,29 @@ Note: the same limitations and usage instructions apply as for gda_data_model_ge
 Upon errors %NULL will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue containing the value stored in the given position, or 
%NULL on error (out-of-bound position, wrong data type, etc).</doc>
+          <doc xml:space="preserve">a #GValue containing the value stored in the given
+position, or %NULL on error (out-of-bound position, wrong data type, etc).</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid column number.</doc>
+            <doc xml:space="preserve">a valid column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid row number.</doc>
+            <doc xml:space="preserve">a valid row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="expected_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the expected data type of the returned value</doc>
+            <doc xml:space="preserve">the expected data type of the returned value</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
           <parameter name="nullok" transfer-ownership="none">
-            <doc xml:whitespace="preserve">if TRUE, then NULL values (value of type %GDA_TYPE_NULL) will not 
generate any error</doc>
+            <doc xml:space="preserve">if TRUE, then NULL values (value of type %GDA_TYPE_NULL) will not 
generate any error</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -6590,7 +6917,7 @@ Upon errors %NULL will be returned and @error will be assigned a
       <method name="get_value_at"
               c:identifier="gda_data_model_get_value_at"
               throws="1">
-        <doc xml:whitespace="preserve">Retrieves the data stored in the given position (identified by
+        <doc xml:space="preserve">Retrieves the data stored in the given position (identified by
 the @col and @row parameters) on a data model.
 
 Upon errors %NULL will be returned and @error will be assigned a
@@ -6608,26 +6935,27 @@ which means if you want to keep the value, a copy must be made, however it will
 as long as the only Libgda usage is calling gda_data_model_get_value_at() for different values
 of the same row.
 
-If you want to modify a value stored in a #GdaDataModel, use the gda_data_model_set_value_at() or 
+If you want to modify a value stored in a #GdaDataModel, use the gda_data_model_set_value_at() or
 gda_data_model_set_values() methods.
 
 Upon errors %NULL will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue containing the value stored in the given position, or 
%NULL on error (out-of-bound position, etc).</doc>
+          <doc xml:space="preserve">a #GValue containing the value stored in the given
+position, or %NULL on error (out-of-bound position, etc).</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid column number.</doc>
+            <doc xml:space="preserve">a valid column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid row number.</doc>
+            <doc xml:space="preserve">a valid row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -6635,34 +6963,35 @@ Upon errors %NULL will be returned and @error will be assigned a
       <method name="import_from_file"
               c:identifier="gda_data_model_import_from_file"
               throws="1">
-        <doc xml:whitespace="preserve">Imports data contained in the @file file into @model; the format is 
detected.
+        <doc xml:space="preserve">Imports data contained in the @file file into @model; the format is 
detected.
 
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="file" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the filename to import from</doc>
+            <doc xml:space="preserve">the filename to import from</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="cols_trans"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a #GHashTable for columns translating, or %NULL, see 
gda_data_model_import_from_model()</doc>
+            <doc xml:space="preserve">a #GHashTable for columns translating, or %NULL, see 
gda_data_model_import_from_model()</doc>
             <type name="GLib.HashTable" c:type="GHashTable*">
               <type name="gint"/>
               <type name="gint"/>
             </type>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">list of options for the export</doc>
+            <doc xml:space="preserve">list of options for the export</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
@@ -6670,7 +6999,7 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="import_from_model"
               c:identifier="gda_data_model_import_from_model"
               throws="1">
-        <doc xml:whitespace="preserve">Copy the contents of the @from data model to the @to data model. The 
copy stops as soon as an error
+        <doc xml:space="preserve">Copy the contents of the @from data model to the @to data model. The copy 
stops as soon as an error
 orrurs.
 
 The @cols_trans is a hash table for which keys are @to columns numbers and the values are
@@ -6689,26 +7018,27 @@ g_hash_table_free (hash);
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="to" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the destination #GdaDataModel</doc>
+            <doc xml:space="preserve">the destination #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="from" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the source #GdaDataModel</doc>
+            <doc xml:space="preserve">the source #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
           <parameter name="overwrite" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if @to is completely overwritten by @from's data, and FALSE 
if @from's data is appended to @to</doc>
+            <doc xml:space="preserve">TRUE if @to is completely overwritten by @from's data, and FALSE if 
@from's data is appended to @to</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
           <parameter name="cols_trans"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a #GHashTable for columns translating, or %NULL</doc>
+            <doc xml:space="preserve">a #GHashTable for columns translating, or %NULL</doc>
             <type name="GLib.HashTable" c:type="GHashTable*">
               <type name="gint"/>
               <type name="gint"/>
@@ -6719,57 +7049,59 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="import_from_string"
               c:identifier="gda_data_model_import_from_string"
               throws="1">
-        <doc xml:whitespace="preserve">Loads the data from @string into @model.
+        <doc xml:space="preserve">Loads the data from @string into @model.
 
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the string to import data from</doc>
+            <doc xml:space="preserve">the string to import data from</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="cols_trans"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a hash table containing which columns of @model will be imported, 
or %NULL for all columns, see gda_data_model_import_from_model()</doc>
+            <doc xml:space="preserve">a hash table containing which columns of @model will be imported, or 
%NULL for all columns, see gda_data_model_import_from_model()</doc>
             <type name="GLib.HashTable" c:type="GHashTable*">
               <type name="gint"/>
               <type name="gint"/>
             </type>
           </parameter>
           <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">list of options for the export</doc>
+            <doc xml:space="preserve">list of options for the export</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </method>
       <method name="iter_at_row"
               c:identifier="gda_data_model_iter_at_row"
-              deprecated="use gda_data_model_iter_move_to_row() instead"
+              deprecated="1"
               deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Moves @iter to the row number given by @row.</doc>
+        <doc xml:space="preserve">Moves @iter to the row number given by @row.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_move_to_row() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a row to point to with @iter</doc>
+            <doc xml:space="preserve">a row to point to with @iter</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -6777,18 +7109,18 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="iter_move_next_default"
               c:identifier="gda_data_model_iter_move_next_default"
               introspectable="0">
-        <doc xml:whitespace="preserve">Method reserved to #GdaDataModelIter implementations, should not be 
called directly.</doc>
+        <doc xml:space="preserve">Method reserved to #GdaDataModelIter implementations, should not be called 
directly.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @iter was moved correctly.</doc>
+          <doc xml:space="preserve">%TRUE if @iter was moved correctly.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter iterating in @model</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter iterating in @model</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
         </parameters>
@@ -6796,18 +7128,18 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="iter_move_prev_default"
               c:identifier="gda_data_model_iter_move_prev_default"
               introspectable="0">
-        <doc xml:whitespace="preserve">Method reserved to #GdaDataModelIter implementations, should not be 
called directly.</doc>
+        <doc xml:space="preserve">Method reserved to #GdaDataModelIter implementations, should not be called 
directly.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @iter was moved correctly.</doc>
+          <doc xml:space="preserve">%TRUE if @iter was moved correctly.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter iterating in @model</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter iterating in @model</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
         </parameters>
@@ -6815,88 +7147,91 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="iter_move_to_row_default"
               c:identifier="gda_data_model_iter_move_to_row_default"
               introspectable="0">
-        <doc xml:whitespace="preserve">Method reserved to #GdaDataModelIter implementations, should not be 
called directly.</doc>
+        <doc xml:space="preserve">Method reserved to #GdaDataModelIter implementations, should not be called 
directly.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @iter was moved correctly.</doc>
+          <doc xml:space="preserve">%TRUE if @iter was moved correctly.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter iterating in @model</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter iterating in @model</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested row</doc>
+            <doc xml:space="preserve">the requested row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="iter_next"
               c:identifier="gda_data_model_iter_next"
-              deprecated="use gda_data_model_iter_move_next() instead"
+              deprecated="1"
               deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Moves @iter to the next row in @model.</doc>
+        <doc xml:space="preserve">Moves @iter to the next row in @model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_move_next() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
         </parameters>
       </method>
       <method name="iter_prev"
               c:identifier="gda_data_model_iter_prev"
-              deprecated="use gda_data_model_iter_move_prev() instead"
+              deprecated="1"
               deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Moves @iter to the next row in @model.</doc>
+        <doc xml:space="preserve">Moves @iter to the next row in @model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_move_prev() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
         </parameters>
       </method>
       <method name="iter_set_value"
               c:identifier="gda_data_model_iter_set_value"
-              deprecated="use gda_data_model_iter_set_value_at() instead"
+              deprecated="1"
               deprecated-version="5.2"
               throws="1">
-        <doc xml:whitespace="preserve">Set @value to the given @column and row pointed by @iter in the given 
@model.</doc>
+        <doc xml:space="preserve">Set @value to the given @column and row pointed by @iter in the given 
@model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_iter_set_value_at() instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of column to set value to</doc>
+            <doc xml:space="preserve">the number of column to set value to</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the to use to set on</doc>
+            <doc xml:space="preserve">the to use to set on</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -6904,113 +7239,114 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="remove_row"
               c:identifier="gda_data_model_remove_row"
               throws="1">
-        <doc xml:whitespace="preserve">Removes a row from the data model.
+        <doc xml:space="preserve">Removes a row from the data model.
 
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+          <doc xml:space="preserve">%TRUE if successful, %FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row number to be removed.</doc>
+            <doc xml:space="preserve">the row number to be removed.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="reset" c:identifier="gda_data_model_reset">
-        <doc xml:whitespace="preserve">Emits the 'reset' and 'changed' signal on @model.</doc>
+        <doc xml:space="preserve">Emits the 'reset' and 'changed' signal on @model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="row_inserted" c:identifier="gda_data_model_row_inserted">
-        <doc xml:whitespace="preserve">Emits the 'row_inserted' and 'changed' signals on @model. 
+        <doc xml:space="preserve">Emits the 'row_inserted' and 'changed' signals on @model.
 
-This method should only be used by #GdaDataModel implementations to 
+This method should only be used by #GdaDataModel implementations to
 signal that a row has been inserted.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="row_removed" c:identifier="gda_data_model_row_removed">
-        <doc xml:whitespace="preserve">Emits the 'row_removed' and 'changed' signal on @model.
+        <doc xml:space="preserve">Emits the 'row_removed' and 'changed' signal on @model.
 
-This method should only be used by #GdaDataModel implementations to 
+This method should only be used by #GdaDataModel implementations to
 signal that a row has been removed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="row_updated" c:identifier="gda_data_model_row_updated">
-        <doc xml:whitespace="preserve">Emits the 'row_updated' and 'changed' signals on @model.
+        <doc xml:space="preserve">Emits the 'row_updated' and 'changed' signals on @model.
 
-This method should only be used by #GdaDataModel implementations to 
+This method should only be used by #GdaDataModel implementations to
 signal that a row has been updated.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="send_hint" c:identifier="gda_data_model_send_hint">
-        <doc xml:whitespace="preserve">Sends a hint to the data model. The hint may or may not be handled by 
the data
+        <doc xml:space="preserve">Sends a hint to the data model. The hint may or may not be handled by the 
data
 model, depending on its implementation</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="hint" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a hint to send to the model</doc>
+            <doc xml:space="preserve">a hint to send to the model</doc>
             <type name="DataModelHint" c:type="GdaDataModelHint"/>
           </parameter>
           <parameter name="hint_value"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">an optional value to specify the hint, or %NULL</doc>
+            <doc xml:space="preserve">an optional value to specify the hint, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -7018,62 +7354,63 @@ model, depending on its implementation</doc>
       <method name="set_column_name"
               c:identifier="gda_data_model_set_column_name"
               version="3.2">
-        <doc xml:whitespace="preserve">Sets the @name of the given @col in @model, and if its title is not 
set, also sets the
+        <doc xml:space="preserve">Sets the @name of the given @col in @model, and if its title is not set, 
also sets the
 title to @name.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number</doc>
+            <doc xml:space="preserve">column number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name for the given column.</doc>
+            <doc xml:space="preserve">name for the given column.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_column_title"
               c:identifier="gda_data_model_set_column_title">
-        <doc xml:whitespace="preserve">Sets the @title of the given @col in @model.</doc>
+        <doc xml:space="preserve">Sets the @title of the given @col in @model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number</doc>
+            <doc xml:space="preserve">column number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="title" transfer-ownership="none">
-            <doc xml:whitespace="preserve">title for the given column.</doc>
+            <doc xml:space="preserve">title for the given column.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_notify"
               c:identifier="gda_data_model_set_notify"
-              deprecated="use gda_data_model_freeze() and gda_data_model_thaw() instead"
+              deprecated="1"
               deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Enable or disable notifications changes on the given data model.</doc>
+        <doc xml:space="preserve">Enable or disable notifications changes on the given data model.</doc>
+        <doc-deprecated xml:space="preserve">use gda_data_model_freeze() and gda_data_model_thaw() 
instead</doc-deprecated>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="do_notify_changes" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Set to TRUE if you require notifications.</doc>
+            <doc xml:space="preserve">Set to TRUE if you require notifications.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -7081,29 +7418,29 @@ title to @name.</doc>
       <method name="set_value_at"
               c:identifier="gda_data_model_set_value_at"
               throws="1">
-        <doc xml:whitespace="preserve">Modifies a value in @model, at (@col, @row).
+        <doc xml:space="preserve">Modifies a value in @model, at (@col, @row).
 
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the value in the data model has been updated and no error 
occurred</doc>
+          <doc xml:space="preserve">TRUE if the value in the data model has been updated and no error 
occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number.</doc>
+            <doc xml:space="preserve">column number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+            <doc xml:space="preserve">a #GValue (not %NULL)</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -7111,7 +7448,7 @@ Upon errors FALSE will be returned and @error will be assigned a
       <method name="set_values"
               c:identifier="gda_data_model_set_values"
               throws="1">
-        <doc xml:whitespace="preserve">In a similar way to gda_data_model_set_value_at(), this method 
modifies a data model's contents
+        <doc xml:space="preserve">In a similar way to gda_data_model_set_value_at(), this method modifies a 
data model's contents
 by setting several values at once.
 
 If any value in @values is actually %NULL, then the value in the corresponding column is left
@@ -7120,20 +7457,23 @@ unchanged.
 Upon errors FALSE will be returned and @error will be assigned a
 #GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the value in the data model has been updated and no error 
occurred</doc>
+          <doc xml:space="preserve">%TRUE if the value in the data model has been updated and no error 
occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number.</doc>
+            <doc xml:space="preserve">row number.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="values" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a list of #GValue (or %NULL), one for at most the number of 
columns of @model</doc>
+          <parameter name="values"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a list of #GValue (or %NULL), one for at most the number of columns of 
@model</doc>
             <type name="GLib.List" c:type="GList*">
               <type name="GObject.Value"/>
             </type>
@@ -7141,69 +7481,69 @@ Upon errors FALSE will be returned and @error will be assigned a
         </parameters>
       </method>
       <method name="thaw" c:identifier="gda_data_model_thaw">
-        <doc xml:whitespace="preserve">Re-enables notifications of changes on the given data model.</doc>
+        <doc xml:space="preserve">Re-enables notifications of changes on the given data model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
+            <doc xml:space="preserve">a #GdaDataModel object.</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </instance-parameter>
         </parameters>
       </method>
       <glib:signal name="access-changed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when @model's access flags have changed. Use
+        <doc xml:space="preserve">Gets emitted when @model's access flags have changed. Use
 gda_data_model_get_access_flags() to get the access flags.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="changed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when any value in @model has been changed</doc>
+        <doc xml:space="preserve">Gets emitted when any value in @model has been changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="reset" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when @model's contents has been completely reset (the 
number and
+        <doc xml:space="preserve">Gets emitted when @model's contents has been completely reset (the number 
and
 type of columns may also have changed)</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="row-inserted" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when a row has been inserted in @model</doc>
+        <doc xml:space="preserve">Gets emitted when a row has been inserted in @model</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row number</doc>
+            <doc xml:space="preserve">the row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="row-removed" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when a row has been removed from @model</doc>
+        <doc xml:space="preserve">Gets emitted when a row has been removed from @model</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row number</doc>
+            <doc xml:space="preserve">the row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="row-updated" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when a row has been modified in @model</doc>
+        <doc xml:space="preserve">Gets emitted when a row has been modified in @model</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row number</doc>
+            <doc xml:space="preserve">the row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -7252,15 +7592,15 @@ type of columns may also have changed)</doc>
            glib:type-struct="DataModelArrayClass">
       <implements name="DataModel"/>
       <function name="new" c:identifier="gda_data_model_array_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel object without initializing the column
+        <doc xml:space="preserve">Creates a new #GdaDataModel object without initializing the column
 types. Using gda_data_model_array_new_with_g_types() is usually better.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of columns for rows in this data model.</doc>
+            <doc xml:space="preserve">number of columns for rows in this data model.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -7269,20 +7609,20 @@ types. Using gda_data_model_array_new_with_g_types() is usually better.</doc>
                 c:identifier="gda_data_model_array_new_with_g_types"
                 shadowed-by="new_with_g_types_v"
                 introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel object with the column types as
+        <doc xml:space="preserve">Creates a new #GdaDataModel object with the column types as
 specified.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of columns for rows in this data model.</doc>
+            <doc xml:space="preserve">number of columns for rows in this data model.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="arg1" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">types of the columns of the model to create as #GType, as many as 
indicated by @cols</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </function>
@@ -7290,19 +7630,19 @@ specified.</doc>
                 c:identifier="gda_data_model_array_new_with_g_types_v"
                 shadows="new_with_g_types"
                 version="4.2.6">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel object with the column types as
+        <doc xml:space="preserve">Creates a new #GdaDataModel object with the column types as
 specified.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of columns for rows in this data model.</doc>
+            <doc xml:space="preserve">number of columns for rows in this data model.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="types" transfer-ownership="none">
-            <doc xml:whitespace="preserve">array of types of the columns of the model to create as #GType, 
as many as indicated by @cols</doc>
+            <doc xml:space="preserve">array of types of the columns of the model to create as #GType, as 
many as indicated by @cols</doc>
             <array zero-terminated="0" c:type="GType*">
               <type name="GType" c:type="GType"/>
             </array>
@@ -7310,13 +7650,13 @@ specified.</doc>
         </parameters>
       </function>
       <method name="clear" c:identifier="gda_data_model_array_clear">
-        <doc xml:whitespace="preserve">Frees all the rows in @model.</doc>
+        <doc xml:space="preserve">Frees all the rows in @model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the model to clear.</doc>
+            <doc xml:space="preserve">the model to clear.</doc>
             <type name="DataModelArray" c:type="GdaDataModelArray*"/>
           </instance-parameter>
         </parameters>
@@ -7324,25 +7664,25 @@ specified.</doc>
       <method name="get_row"
               c:identifier="gda_data_model_array_get_row"
               throws="1">
-        <doc xml:whitespace="preserve">Get a pointer to a row in @model</doc>
+        <doc xml:space="preserve">Get a pointer to a row in @model</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaRow, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the #GdaRow, or %NULL if an error occurred</doc>
           <type name="Row" c:type="GdaRow*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelArray object</doc>
+            <doc xml:space="preserve">a #GdaDataModelArray object</doc>
             <type name="DataModelArray" c:type="GdaDataModelArray*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row number (starting from 0)</doc>
+            <doc xml:space="preserve">row number (starting from 0)</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_n_columns"
               c:identifier="gda_data_model_array_set_n_columns">
-        <doc xml:whitespace="preserve">Sets the number of columns for rows inserted in this model. 
+        <doc xml:space="preserve">Sets the number of columns for rows inserted in this model.
 @cols must be greated than or equal to 0.
 
 Also clears @model's contents.</doc>
@@ -7351,11 +7691,11 @@ Also clears @model's contents.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaDataModelArray.</doc>
+            <doc xml:space="preserve">the #GdaDataModelArray.</doc>
             <type name="DataModelArray" c:type="GdaDataModelArray*"/>
           </instance-parameter>
           <parameter name="cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of columns for rows this data model should use.</doc>
+            <doc xml:space="preserve">number of columns for rows this data model should use.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -7421,42 +7761,42 @@ Also clears @model's contents.</doc>
            glib:type-struct="DataModelDirClass">
       <implements name="DataModel"/>
       <function name="new" c:identifier="gda_data_model_dir_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel object to list all the files starting 
from @basedir</doc>
+        <doc xml:space="preserve">Creates a new #GdaDataModel object to list all the files starting from 
@basedir</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+          <doc xml:space="preserve">a new #GdaDataModel</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="basedir" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a directory</doc>
+            <doc xml:space="preserve">a directory</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </function>
       <method name="clean_errors"
               c:identifier="gda_data_model_dir_clean_errors">
-        <doc xml:whitespace="preserve">Reset the list of errors which have occurred while using @model</doc>
+        <doc xml:space="preserve">Reset the list of errors which have occurred while using @model</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelDir object</doc>
+            <doc xml:space="preserve">a #GdaDataModelDir object</doc>
             <type name="DataModelDir" c:type="GdaDataModelDir*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_errors" c:identifier="gda_data_model_dir_get_errors">
-        <doc xml:whitespace="preserve">Get the list of errors which have occurred while using @model</doc>
+        <doc xml:space="preserve">Get the list of errors which have occurred while using @model</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a read-only list of #GError pointers, or %NULL if no error has 
occurred</doc>
+          <doc xml:space="preserve">a read-only list of #GError pointers, or %NULL if no error has 
occurred</doc>
           <type name="GLib.SList" c:type="const GSList*">
             <type name="GLib.Error"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelDir object</doc>
+            <doc xml:space="preserve">a #GdaDataModelDir object</doc>
             <type name="DataModelDir" c:type="GdaDataModelDir*"/>
           </instance-parameter>
         </parameters>
@@ -7576,21 +7916,21 @@ Also clears @model's contents.</doc>
       </member>
     </enumeration>
     <enumeration name="DataModelIOFormat" c:type="GdaDataModelIOFormat">
-      <doc xml:whitespace="preserve">Format to use when exporting a data model, see 
gda_data_model_export_to_string() and gda_data_model_export_to_file()</doc>
+      <doc xml:space="preserve">Format to use when exporting a data model, see 
gda_data_model_export_to_string() and gda_data_model_export_to_file()</doc>
       <member name="data_array_xml"
               value="0"
               c:identifier="GDA_DATA_MODEL_IO_DATA_ARRAY_XML">
-        <doc xml:whitespace="preserve">data is exported as an XML structure</doc>
+        <doc xml:space="preserve">data is exported as an XML structure</doc>
       </member>
       <member name="text_separated"
               value="1"
               c:identifier="GDA_DATA_MODEL_IO_TEXT_SEPARATED">
-        <doc xml:whitespace="preserve">data is exported as CSV</doc>
+        <doc xml:space="preserve">data is exported as CSV</doc>
       </member>
       <member name="text_table"
               value="2"
               c:identifier="GDA_DATA_MODEL_IO_TEXT_TABLE">
-        <doc xml:whitespace="preserve">data is exported as a human readable table</doc>
+        <doc xml:space="preserve">data is exported as a human readable table</doc>
       </member>
     </enumeration>
     <record name="DataModelIface"
@@ -7602,11 +7942,12 @@ Also clears @model's contents.</doc>
       <field name="i_get_n_rows">
         <callback name="i_get_n_rows">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of rows in the given data model, or -1 if the number 
of rows is not known</doc>
+            <doc xml:space="preserve">the number of rows in the given data model, or -1 if the number of 
rows is not known</doc>
             <type name="gint" c:type="gint"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -7615,11 +7956,12 @@ Also clears @model's contents.</doc>
       <field name="i_get_n_columns">
         <callback name="i_get_n_columns">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns in the given data model, or -1 if 
unknown.</doc>
+            <doc xml:space="preserve">the number of columns in the given data model, or -1 if unknown.</doc>
             <type name="gint" c:type="gint"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -7628,15 +7970,16 @@ Also clears @model's contents.</doc>
       <field name="i_describe_column">
         <callback name="i_describe_column">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the description of the column.</doc>
+            <doc xml:space="preserve">the description of the column.</doc>
             <type name="Column" c:type="GdaColumn*"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="col" transfer-ownership="none">
-              <doc xml:whitespace="preserve">column number.</doc>
+              <doc xml:space="preserve">column number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -7645,12 +7988,13 @@ Also clears @model's contents.</doc>
       <field name="i_get_access_flags">
         <callback name="i_get_access_flags">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
+            <doc xml:space="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
             <type name="DataModelAccessFlags"
                   c:type="GdaDataModelAccessFlags"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -7659,19 +8003,21 @@ Also clears @model's contents.</doc>
       <field name="i_get_value_at">
         <callback name="i_get_value_at" throws="1">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue containing the value stored in the given position, or 
%NULL on error (out-of-bound position, etc).</doc>
+            <doc xml:space="preserve">a #GValue containing the value stored in the given
+position, or %NULL on error (out-of-bound position, etc).</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="col" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a valid column number.</doc>
+              <doc xml:space="preserve">a valid column number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a valid row number.</doc>
+              <doc xml:space="preserve">a valid row number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -7680,19 +8026,20 @@ Also clears @model's contents.</doc>
       <field name="i_get_attributes_at">
         <callback name="i_get_attributes_at">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
+            <doc xml:space="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
             <type name="ValueAttribute" c:type="GdaValueAttribute"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="col" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a valid column number</doc>
+              <doc xml:space="preserve">a valid column number</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a valid row number, or -1</doc>
+              <doc xml:space="preserve">a valid row number, or -1</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -7701,11 +8048,12 @@ Also clears @model's contents.</doc>
       <field name="i_create_iter">
         <callback name="i_create_iter">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -7718,14 +8066,15 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="iter" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+              <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
               <type name="DataModelIter" c:type="GdaDataModelIter*"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a row to point to with @iter</doc>
+              <doc xml:space="preserve">a row to point to with @iter</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -7738,10 +8087,11 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="iter" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+              <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
               <type name="DataModelIter" c:type="GdaDataModelIter*"/>
             </parameter>
           </parameters>
@@ -7754,10 +8104,11 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="iter" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+              <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
               <type name="DataModelIter" c:type="GdaDataModelIter*"/>
             </parameter>
           </parameters>
@@ -7766,23 +8117,24 @@ Also clears @model's contents.</doc>
       <field name="i_set_value_at">
         <callback name="i_set_value_at" throws="1">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if the value in the data model has been updated and no error 
occurred</doc>
+            <doc xml:space="preserve">TRUE if the value in the data model has been updated and no error 
occurred</doc>
             <type name="gboolean" c:type="gboolean"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="col" transfer-ownership="none">
-              <doc xml:whitespace="preserve">column number.</doc>
+              <doc xml:space="preserve">column number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">row number.</doc>
+              <doc xml:space="preserve">row number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
             <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+              <doc xml:space="preserve">a #GValue (not %NULL)</doc>
               <type name="GObject.Value" c:type="const GValue*"/>
             </parameter>
           </parameters>
@@ -7795,18 +8147,19 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="iter" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+              <doc xml:space="preserve">a #GdaDataModelIter object.</doc>
               <type name="DataModelIter" c:type="GdaDataModelIter*"/>
             </parameter>
             <parameter name="col" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the number of column to set value to</doc>
+              <doc xml:space="preserve">the number of column to set value to</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
             <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the to use to set on</doc>
+              <doc xml:space="preserve">the to use to set on</doc>
               <type name="GObject.Value" c:type="const GValue*"/>
             </parameter>
           </parameters>
@@ -7815,19 +8168,23 @@ Also clears @model's contents.</doc>
       <field name="i_set_values">
         <callback name="i_set_values" throws="1">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the value in the data model has been updated and no 
error occurred</doc>
+            <doc xml:space="preserve">%TRUE if the value in the data model has been updated and no error 
occurred</doc>
             <type name="gboolean" c:type="gboolean"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">row number.</doc>
+              <doc xml:space="preserve">row number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
-            <parameter name="values" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a list of #GValue (or %NULL), one for at most the number of 
columns of @model</doc>
+            <parameter name="values"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a list of #GValue (or %NULL), one for at most the number of columns 
of @model</doc>
               <type name="GLib.List" c:type="GList*">
                 <type name="GObject.Value"/>
               </type>
@@ -7838,15 +8195,21 @@ Also clears @model's contents.</doc>
       <field name="i_append_values">
         <callback name="i_append_values" throws="1">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+            <doc xml:space="preserve">the number of the added row, or -1 if an error occurred</doc>
             <type name="gint" c:type="gint"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
-            <parameter name="values" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">#GList of #GValue* representing the row to add.  The length 
must match model's column count.  These #GValue are value-copied (the user is still responsible for freeing 
them).</doc>
+            <parameter name="values"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">#GList of #GValue* representing the row to add.  The
+         length must match model's column count.  These #GValue
+    are value-copied (the user is still responsible for freeing them).</doc>
               <type name="GLib.List" c:type="const GList*">
                 <type name="GObject.Value"/>
               </type>
@@ -7857,11 +8220,12 @@ Also clears @model's contents.</doc>
       <field name="i_append_row">
         <callback name="i_append_row" throws="1">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+            <doc xml:space="preserve">the number of the added row, or -1 if an error occurred</doc>
             <type name="gint" c:type="gint"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -7870,15 +8234,16 @@ Also clears @model's contents.</doc>
       <field name="i_remove_row">
         <callback name="i_remove_row" throws="1">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+            <doc xml:space="preserve">%TRUE if successful, %FALSE otherwise.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the row number to be removed.</doc>
+              <doc xml:space="preserve">the row number to be removed.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -7887,21 +8252,22 @@ Also clears @model's contents.</doc>
       <field name="i_find_row">
         <callback name="i_find_row">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested row number, of -1 if not found</doc>
+            <doc xml:space="preserve">the requested row number, of -1 if not found</doc>
             <type name="gint" c:type="gint"/>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="values" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a list of #GValue values (no %NULL is allowed)</doc>
+              <doc xml:space="preserve">a list of #GValue values (no %NULL is allowed)</doc>
               <type name="GLib.SList" c:type="GSList*">
                 <type name="GObject.Value"/>
               </type>
             </parameter>
             <parameter name="cols_index" transfer-ownership="none">
-              <doc xml:whitespace="preserve">an array of #gint containing the column number to match each 
value of @values</doc>
+              <doc xml:space="preserve">an array of #gint containing the column number to match each value 
of @values</doc>
               <array zero-terminated="0" c:type="gint*">
                 <type name="gint" c:type="gint"/>
               </array>
@@ -7916,10 +8282,11 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="do_notify_changes" transfer-ownership="none">
-              <doc xml:whitespace="preserve">Set to TRUE if you require notifications.</doc>
+              <doc xml:space="preserve">Set to TRUE if you require notifications.</doc>
               <type name="gboolean" c:type="gboolean"/>
             </parameter>
           </parameters>
@@ -7932,6 +8299,7 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -7944,16 +8312,18 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="hint" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a hint to send to the model</doc>
+              <doc xml:space="preserve">a hint to send to the model</doc>
               <type name="DataModelHint" c:type="GdaDataModelHint"/>
             </parameter>
             <parameter name="hint_value"
                        transfer-ownership="none"
+                       nullable="1"
                        allow-none="1">
-              <doc xml:whitespace="preserve">an optional value to specify the hint, or %NULL</doc>
+              <doc xml:space="preserve">an optional value to specify the hint, or %NULL</doc>
               <type name="GObject.Value" c:type="const GValue*"/>
             </parameter>
           </parameters>
@@ -7966,10 +8336,11 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">row number.</doc>
+              <doc xml:space="preserve">row number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -7982,10 +8353,11 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">row number.</doc>
+              <doc xml:space="preserve">row number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -7998,10 +8370,11 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
             <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">row number.</doc>
+              <doc xml:space="preserve">row number.</doc>
               <type name="gint" c:type="gint"/>
             </parameter>
           </parameters>
@@ -8026,6 +8399,7 @@ Also clears @model's contents.</doc>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel object.</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -8046,13 +8420,14 @@ Also clears @model's contents.</doc>
       <field name="i_get_exceptions">
         <callback name="i_get_exceptions">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
+            <doc xml:space="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
             <array c:type="GError**">
               <type name="GLib.Error"/>
             </array>
           </return-value>
           <parameters>
             <parameter name="model" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaDataModel</doc>
               <type name="DataModel" c:type="GdaDataModel*"/>
             </parameter>
           </parameters>
@@ -8068,7 +8443,7 @@ Also clears @model's contents.</doc>
            glib:type-struct="DataModelImportClass">
       <implements name="DataModel"/>
       <function name="new_file" c:identifier="gda_data_model_import_new_file">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel object which contains the data stored 
within the @filename file.
+        <doc xml:space="preserve">Creates a new #GdaDataModel object which contains the data stored within 
the @filename file.
 
 The options are the following ones:
 &lt;itemizedlist&gt;
@@ -8086,89 +8461,95 @@ The options are the following ones:
 
 Note: after the creation, please use gda_data_model_import_get_errors() to check any error.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the file to import data from</doc>
+            <doc xml:space="preserve">the file to import data from</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="random_access" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if random access will be required</doc>
+            <doc xml:space="preserve">TRUE if random access will be required</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
-          <parameter name="options" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">importing options</doc>
+          <parameter name="options"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">importing options</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </function>
       <function name="new_mem" c:identifier="gda_data_model_import_new_mem">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel object which contains the data stored in 
the @data string.
+        <doc xml:space="preserve">Creates a new #GdaDataModel object which contains the data stored in the 
@data string.
 
 Important note: the @data string is not copied for memory efficiency reasons and should not
 therefore be altered in any way as long as the returned data model exists.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string containing the data to import</doc>
+            <doc xml:space="preserve">a string containing the data to import</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="random_access" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if random access will be required</doc>
+            <doc xml:space="preserve">TRUE if random access will be required</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
-          <parameter name="options" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">importing options, see gda_data_model_import_new_file() for more 
information</doc>
+          <parameter name="options"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">importing options, see gda_data_model_import_new_file() for more 
information</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </function>
       <function name="new_xml_node"
                 c:identifier="gda_data_model_import_new_xml_node">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel and loads the data in @node. The 
resulting data model
+        <doc xml:space="preserve">Creates a new #GdaDataModel and loads the data in @node. The resulting 
data model
 can be accessed in a random way.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an XML node corresponding to a &amp;lt;data-array&amp;gt; 
tag</doc>
+            <doc xml:space="preserve">an XML node corresponding to a &amp;lt;data-array&amp;gt; tag</doc>
             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
           </parameter>
         </parameters>
       </function>
       <method name="clean_errors"
               c:identifier="gda_data_model_import_clean_errors">
-        <doc xml:whitespace="preserve">Clears the history of errors @model has to report</doc>
+        <doc xml:space="preserve">Clears the history of errors @model has to report</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelImport object</doc>
+            <doc xml:space="preserve">a #GdaDataModelImport object</doc>
             <type name="DataModelImport" c:type="GdaDataModelImport*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_errors"
               c:identifier="gda_data_model_import_get_errors">
-        <doc xml:whitespace="preserve">Get the list of errors which @model has to report. The returned list 
is a list of
+        <doc xml:space="preserve">Get the list of errors which @model has to report. The returned list is a 
list of
 #GError structures, and must not be modified</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the list of errors (which must not be modified), or %NULL</doc>
+          <doc xml:space="preserve">the list of errors (which must not be modified), or %NULL</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="GLib.Error"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelImport object</doc>
+            <doc xml:space="preserve">a #GdaDataModelImport object</doc>
             <type name="DataModelImport" c:type="GdaDataModelImport*"/>
           </instance-parameter>
         </parameters>
@@ -8177,28 +8558,28 @@ can be accessed in a random way.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Data to import, as a string.</doc>
+        <doc xml:space="preserve">Data to import, as a string.</doc>
         <type name="utf8" c:type="gchar*"/>
       </property>
       <property name="filename"
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Name of the file to import.</doc>
+        <doc xml:space="preserve">Name of the file to import.</doc>
         <type name="utf8" c:type="gchar*"/>
       </property>
       <property name="options"
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Data model options.</doc>
+        <doc xml:space="preserve">Data model options.</doc>
         <type name="Set"/>
       </property>
       <property name="random-access"
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines if the data model will be accessed randomly or through a 
cursor. If set to %FALSE,
+        <doc xml:space="preserve">Defines if the data model will be accessed randomly or through a cursor. 
If set to %FALSE,
 access will have to be done using a cursor.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </property>
@@ -8207,7 +8588,7 @@ access will have to be done using a cursor.</doc>
                 writable="1"
                 construct="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the behaviour in case the imported data contains recoverable 
errors (usually too
+        <doc xml:space="preserve">Defines the behaviour in case the imported data contains recoverable 
errors (usually too
 many or too few data per row). If set to %TRUE, an error will be reported and the import
 will stop, and if set to %FALSE, then the error will be reported but the import will not stop.</doc>
         <type name="gboolean" c:type="gboolean"/>
@@ -8216,7 +8597,7 @@ will stop, and if set to %FALSE, then the error will be reported but the import
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Data to import, as a pointer to an XML node (a #xmlNodePtr).</doc>
+        <doc xml:space="preserve">Data to import, as a pointer to an XML node (a #xmlNodePtr).</doc>
         <type name="gpointer" c:type="gpointer"/>
       </property>
       <field name="object">
@@ -8304,71 +8685,72 @@ will stop, and if set to %FALSE, then the error will be reported but the import
       </virtual-method>
       <method name="get_column_for_param"
               c:identifier="gda_data_model_iter_get_column_for_param"
-              deprecated="not very useful"
+              deprecated="1"
               deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Get the column number in the #GdaDataModel for which @iter is an 
iterator as
+        <doc xml:space="preserve">Get the column number in the #GdaDataModel for which @iter is an iterator 
as
 represented by the @param parameter</doc>
+        <doc-deprecated xml:space="preserve">not very useful</doc-deprecated>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the column number, or @param is not valid</doc>
+          <doc xml:space="preserve">the column number, or @param is not valid</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
           <parameter name="param" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object, listed in @iter</doc>
+            <doc xml:space="preserve">a #GdaHolder object, listed in @iter</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_holder_for_field"
               c:identifier="gda_data_model_iter_get_holder_for_field">
-        <doc xml:whitespace="preserve">Fetch a pointer to the #GdaHolder object which is synchronized with 
data at 
+        <doc xml:space="preserve">Fetch a pointer to the #GdaHolder object which is synchronized with data at
 column @col</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaHolder, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the #GdaHolder, or %NULL if an error occurred</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested column</doc>
+            <doc xml:space="preserve">the requested column</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_row" c:identifier="gda_data_model_iter_get_row">
-        <doc xml:whitespace="preserve">Get the row which @iter represents in the data model</doc>
+        <doc xml:space="preserve">Get the row which @iter represents in the data model</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the row number, or -1 if @iter is invalid</doc>
+          <doc xml:space="preserve">the row number, or -1 if @iter is invalid</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_value_at"
               c:identifier="gda_data_model_iter_get_value_at">
-        <doc xml:whitespace="preserve">Get the value stored at the column @col in @iter. The returned value 
must not be modified.</doc>
+        <doc xml:space="preserve">Get the value stored at the column @col in @iter. The returned value must 
not be modified.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GValue, or %NULL if the value could not be fetched</doc>
+          <doc xml:space="preserve">the #GValue, or %NULL if the value could not be fetched</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested column</doc>
+            <doc xml:space="preserve">the requested column</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -8377,43 +8759,43 @@ column @col</doc>
               c:identifier="gda_data_model_iter_get_value_at_e"
               version="4.2.10"
               throws="1">
-        <doc xml:whitespace="preserve">Get the value stored at the column @col in @iter. The returned value 
must not be modified.</doc>
+        <doc xml:space="preserve">Get the value stored at the column @col in @iter. The returned value must 
not be modified.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GValue, or %NULL if the value could not be fetched</doc>
+          <doc xml:space="preserve">the #GValue, or %NULL if the value could not be fetched</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested column</doc>
+            <doc xml:space="preserve">the requested column</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_value_for_field"
               c:identifier="gda_data_model_iter_get_value_for_field">
-        <doc xml:whitespace="preserve">Get the value stored at the column @field_name in @iter</doc>
+        <doc xml:space="preserve">Get the value stored at the column @field_name in @iter</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GValue, or %NULL</doc>
+          <doc xml:space="preserve">the #GValue, or %NULL</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
           <parameter name="field_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested column name</doc>
+            <doc xml:space="preserve">the requested column name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="invalidate_contents"
               c:identifier="gda_data_model_iter_invalidate_contents">
-        <doc xml:whitespace="preserve">Declare all the parameters in @iter invalid, without modifying the
+        <doc xml:space="preserve">Declare all the parameters in @iter invalid, without modifying the
 #GdaDataModel @iter is for or changing the row it represents. This method
 is for internal usage. Note that for gda_data_model_iter_is_valid() to return %FALSE,
 it is also necessary to set the "current-row" property to -1.</doc>
@@ -8422,26 +8804,26 @@ it is also necessary to set the "current-row" property to -1.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="is_valid" c:identifier="gda_data_model_iter_is_valid">
-        <doc xml:whitespace="preserve">Tells if @iter is a valid iterator (if it actually corresponds to a 
valid row in the model)</doc>
+        <doc xml:space="preserve">Tells if @iter is a valid iterator (if it actually corresponds to a valid 
row in the model)</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @iter is valid</doc>
+          <doc xml:space="preserve">TRUE if @iter is valid</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="move_next" c:identifier="gda_data_model_iter_move_next">
-        <doc xml:whitespace="preserve">Moves @iter one row further than where it already is 
+        <doc xml:space="preserve">Moves @iter one row further than where it already is
 (synchronizes the values of the parameters in @iter with the values at the new row).
 
 If the iterator was on the data model's last row, then it can't be moved forward
@@ -8455,18 +8837,18 @@ When this function returns %TRUE, then @iter has actually been moved to the next
 but some values may not have been read correctly in the row, in which case the
 correcsponding #GdaHolder will be left invalid.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the iterator is now at the next row</doc>
+          <doc xml:space="preserve">%TRUE if the iterator is now at the next row</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="move_prev" c:identifier="gda_data_model_iter_move_prev">
-        <doc xml:whitespace="preserve">Moves @iter one row before where it already is (synchronizes the 
values of the parameters in @iter 
+        <doc xml:space="preserve">Moves @iter one row before where it already is (synchronizes the values of 
the parameters in @iter
 with the values at the new row).
 
 If the iterator was on the data model's first row, then it can't be moved backwards
@@ -8480,19 +8862,19 @@ When this function returns %TRUE, then @iter has actually been moved to the next
 but some values may not have been read correctly in the row, in which case the
 correcsponding #GdaHolder will be left invalid.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the iterator is now at the previous row</doc>
+          <doc xml:space="preserve">%TRUE if the iterator is now at the previous row</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="move_to_row"
               c:identifier="gda_data_model_iter_move_to_row">
-        <doc xml:whitespace="preserve">Synchronizes the values of the parameters in @iter with the values at 
the @row row.
+        <doc xml:space="preserve">Synchronizes the values of the parameters in @iter with the values at the 
@row row.
 
 If @row is not a valid row, then the returned value is %FALSE, and the "current-row"
 property is set to -1 (which means that gda_data_model_iter_is_valid() would return %FALSE),
@@ -8505,16 +8887,16 @@ When this function returns %TRUE, then @iter has actually been moved to the next
 but some values may not have been read correctly in the row, in which case the
 correcsponding #GdaHolder will be left invalid.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row to set @iter to</doc>
+            <doc xml:space="preserve">the row to set @iter to</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -8522,22 +8904,22 @@ correcsponding #GdaHolder will be left invalid.</doc>
       <method name="set_value_at"
               c:identifier="gda_data_model_iter_set_value_at"
               throws="1">
-        <doc xml:whitespace="preserve">Sets a value in @iter, at the column specified by @col</doc>
+        <doc xml:space="preserve">Sets a value in @iter, at the column specified by @col</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModelIter object</doc>
+            <doc xml:space="preserve">a #GdaDataModelIter object</doc>
             <type name="DataModelIter" c:type="GdaDataModelIter*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column number</doc>
+            <doc xml:space="preserve">the column number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+            <doc xml:space="preserve">a #GValue (not %NULL)</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -8564,20 +8946,20 @@ correcsponding #GdaHolder will be left invalid.</doc>
         <type name="DataModelIterPrivate" c:type="GdaDataModelIterPrivate*"/>
       </field>
       <glib:signal name="end-of-data" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when @iter has reached the end of available data (which 
means the previous
+        <doc xml:space="preserve">Gets emitted when @iter has reached the end of available data (which means 
the previous
 row it was on was the last one).</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="row-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when the row @iter is currently pointing has 
changed</doc>
+        <doc xml:space="preserve">Gets emitted when the row @iter is currently pointing has changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new iter's row</doc>
+            <doc xml:space="preserve">the new iter's row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -8655,6 +9037,247 @@ row it was on was the last one).</doc>
             c:type="GdaDataModelIterPrivate"
             disguised="1">
     </record>
+    <class name="DataModelLdap"
+           c:symbol-prefix="data_model_ldap"
+           c:type="GdaDataModelLdap"
+           parent="GObject.Object"
+           glib:type-name="GdaDataModelLdap"
+           glib:get-type="gda_data_model_ldap_get_type"
+           glib:type-struct="DataModelLdapClass">
+      <implements name="DataModel"/>
+      <constructor name="new_with_config"
+                   c:identifier="gda_data_model_ldap_new_with_config"
+                   version="5.2">
+        <doc xml:space="preserve">Creates a new #GdaDataModel object to extract some LDAP contents. The 
returned data model will
+contain one row for each LDAP entry returned by the search, and will
+always return the DN (Distinguished Name) of the LDAP entry as first column. Other atttibutes
+may be mapped to other columns, see the @attributes argument.
+
+Note that the actual LDAP search command is not executed until necessary (when using the returned
+data model).
+
+The @base_dn is the point in the LDAP's DIT (Directory Information Tree) from where the search will
+occur, for example "dc=gda,dc=org". A %NULL value indicates that the starting point for the
+search will be the one specified when opening the LDAP connection.
+
+The @filter argument is a valid LDAP filter string, for example "(uidNumber=1001)". If %NULL, then
+a default search filter of "(objectClass=*)" will be used.
+
+ attributes specifies which LDAP attributes the search must return. It is a comma separated list
+of attribute names, for example "uidNumber, mail, uid, jpegPhoto" (spaces between attribute names
+are ignored). If %NULL, then no attribute will be fetched. See gda_ldap_connection_declare_table()
+for more information about this argument.
+
+ scope is the scope of search specified when the LDAP search is actually executed.
+
+In case of multi valued attributes, an error will be returned when trying to read the attribute:
+gda_data_model_iter_get_value_at() will return %NULL when using an iterator.
+
+This is a convenience function intended to be used by bindings.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new #GdaDataModelLdap object</doc>
+          <type name="DataModelLdap" c:type="GdaDataModelLdap*"/>
+        </return-value>
+        <parameters>
+          <parameter name="cnc" transfer-ownership="none">
+            <doc xml:space="preserve">an LDAP opened connection (must be a balid #GdaLdapConnection)</doc>
+            <type name="Connection" c:type="GdaConnection*"/>
+          </parameter>
+          <parameter name="base_dn"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the base DN to search on, or %NULL</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="filter"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an LDAP filter, for example "(objectClass=*)"</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="attributes"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the list (CSV format) of attributes to fetch, each in the format 
&amp;lt;attname&amp;gt;[::&amp;lt;GType&amp;gt;]</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="scope" transfer-ownership="none">
+            <doc xml:space="preserve">the search scope</doc>
+            <type name="LdapSearchScope" c:type="GdaLdapSearchScope"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <function name="compute_columns"
+                c:identifier="gda_data_model_ldap_compute_columns"
+                version="4.2.8">
+        <doc xml:space="preserve">Computes the #GdaColumn of the data model which would be created using 
@attributes when calling
+gda_data_model_ldap_new().</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a list of #GdaColumn objects</doc>
+          <type name="GLib.List" c:type="GList*">
+            <type name="Column"/>
+          </type>
+        </return-value>
+        <parameters>
+          <parameter name="cnc" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaConnection</doc>
+            <type name="Connection" c:type="GdaConnection*"/>
+          </parameter>
+          <parameter name="attributes"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a string describing which LDAP attributes to retreive, or %NULL</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </function>
+      <function name="new"
+                c:identifier="gda_data_model_ldap_new"
+                version="4.2.8"
+                deprecated="1"
+                deprecated-version="5.2">
+        <doc xml:space="preserve">Creates a new #GdaDataModel object to extract some LDAP contents. The 
returned data model will
+contain one row for each LDAP entry returned by the search, and will
+always return the DN (Distinguished Name) of the LDAP entry as first column. Other atttibutes
+may be mapped to other columns, see the @attributes argument.
+
+Note that the actual LDAP search command is not executed until necessary (when using the returned
+data model).
+
+The @base_dn is the point in the LDAP's DIT (Directory Information Tree) from where the search will
+occur, for example "dc=gda,dc=org". A %NULL value indicates that the starting point for the
+search will be the one specified when opening the LDAP connection.
+
+The @filter argument is a valid LDAP filter string, for example "(uidNumber=1001)". If %NULL, then
+a default search filter of "(objectClass=*)" will be used.
+
+ attributes specifies which LDAP attributes the search must return. It is a comma separated list
+of attribute names, for example "uidNumber, mail, uid, jpegPhoto" (spaces between attribute names
+are ignored). If %NULL, then no attribute will be fetched. See gda_ldap_connection_declare_table()
+for more information about this argument.
+
+ scope is the scope of search specified when the LDAP search is actually executed.
+
+In case of multi valued attributes, an error will be returned when trying to read the attribute:
+gda_data_model_iter_get_value_at() will return %NULL when using an iterator.</doc>
+        <doc-deprecated xml:space="preserve">use #gda_data_model_ldap_new_with_config</doc-deprecated>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new #GdaDataModel</doc>
+          <type name="DataModel" c:type="GdaDataModel*"/>
+        </return-value>
+        <parameters>
+          <parameter name="cnc" transfer-ownership="none">
+            <doc xml:space="preserve">an LDAP opened connection (must be a balid #GdaLdapConnection)</doc>
+            <type name="Connection" c:type="GdaConnection*"/>
+          </parameter>
+          <parameter name="base_dn"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the base DN to search on, or %NULL</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="filter"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an LDAP filter, for example "(objectClass=*)"</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="attributes"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the list (CSV format) of attributes to fetch, each in the format 
&amp;lt;attname&amp;gt;[::&amp;lt;GType&amp;gt;]</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="scope" transfer-ownership="none">
+            <doc xml:space="preserve">the search scope</doc>
+            <type name="LdapSearchScope" c:type="GdaLdapSearchScope"/>
+          </parameter>
+        </parameters>
+      </function>
+      <property name="attributes"
+                readable="0"
+                writable="1"
+                construct-only="1"
+                transfer-ownership="none">
+        <type name="utf8" c:type="gchar*"/>
+      </property>
+      <property name="base"
+                writable="1"
+                construct-only="1"
+                transfer-ownership="none">
+        <type name="utf8" c:type="gchar*"/>
+      </property>
+      <property name="cnc"
+                writable="1"
+                construct-only="1"
+                transfer-ownership="none">
+        <type name="Connection"/>
+      </property>
+      <property name="filter"
+                writable="1"
+                construct-only="1"
+                transfer-ownership="none">
+        <type name="utf8" c:type="gchar*"/>
+      </property>
+      <property name="scope"
+                writable="1"
+                construct-only="1"
+                transfer-ownership="none">
+        <type name="gint" c:type="gint"/>
+      </property>
+      <field name="object">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="priv">
+        <type name="DataModelLdapPrivate" c:type="GdaDataModelLdapPrivate*"/>
+      </field>
+    </class>
+    <record name="DataModelLdapClass"
+            c:type="GdaDataModelLdapClass"
+            glib:is-gtype-struct-for="DataModelLdap">
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+      <field name="_gda_reserved1" introspectable="0">
+        <callback name="_gda_reserved1">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+        </callback>
+      </field>
+      <field name="_gda_reserved2" introspectable="0">
+        <callback name="_gda_reserved2">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+        </callback>
+      </field>
+      <field name="_gda_reserved3" introspectable="0">
+        <callback name="_gda_reserved3">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+        </callback>
+      </field>
+      <field name="_gda_reserved4" introspectable="0">
+        <callback name="_gda_reserved4">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+        </callback>
+      </field>
+    </record>
+    <record name="DataModelLdapPrivate"
+            c:type="GdaDataModelLdapPrivate"
+            disguised="1">
+    </record>
     <class name="DataPivot"
            c:symbol-prefix="data_pivot"
            c:type="GdaDataPivot"
@@ -8669,14 +9292,17 @@ row it was on was the last one).</doc>
         </return-value>
       </function>
       <function name="new" c:identifier="gda_data_pivot_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModel which will contain analysed data from 
@model.</doc>
+        <doc xml:space="preserve">Creates a new #GdaDataModel which will contain analysed data from 
@model.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+          <doc xml:space="preserve">a pointer to the newly created #GdaDataModel.</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
-          <parameter name="model" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaDataModel to analyse data from, or %NULL</doc>
+          <parameter name="model"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaDataModel to analyse data from, or %NULL</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -8685,14 +9311,14 @@ row it was on was the last one).</doc>
               c:identifier="gda_data_pivot_add_data"
               version="5.0"
               throws="1">
-        <doc xml:whitespace="preserve">Specifies that @field has to be included in the analysis.
+        <doc xml:space="preserve">Specifies that @field has to be included in the analysis.
 @field is a field specification with the following accepted syntaxes:
 &lt;itemizedlist&gt;
   &lt;listitem&gt;&lt;para&gt;a column name in the source data model (see &lt;link 
linkend="gda-data-model-get-column-index"&gt;gda_data_model_get_column_index()&lt;/link&gt;); 
or&lt;/para&gt;&lt;/listitem&gt;
   &lt;listitem&gt;&lt;para&gt;an SQL expression involving a column name in the source data model, for 
examples:
   &lt;programlisting&gt;
 price
-firstname || ' ' || lastname 
+firstname || ' ' || lastname
 nb BETWEEN 5 AND 10&lt;/programlisting&gt;
 &lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;
@@ -8700,24 +9326,27 @@ nb BETWEEN 5 AND 10&lt;/programlisting&gt;
 It is also possible to specify several fields to be added, while separating them by a comma (in effect
 still forming a valid SQL syntax).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="pivot" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataPivot object</doc>
+            <doc xml:space="preserve">a #GdaDataPivot object</doc>
             <type name="DataPivot" c:type="GdaDataPivot*"/>
           </instance-parameter>
           <parameter name="aggregate_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of aggregate operation to perform</doc>
+            <doc xml:space="preserve">the type of aggregate operation to perform</doc>
             <type name="DataPivotAggregate" c:type="GdaDataPivotAggregate"/>
           </parameter>
           <parameter name="field" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the field description, see below</doc>
+            <doc xml:space="preserve">the field description, see below</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="alias" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the field alias, or %NULL</doc>
+          <parameter name="alias"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the field alias, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -8726,14 +9355,14 @@ still forming a valid SQL syntax).</doc>
               c:identifier="gda_data_pivot_add_field"
               version="5.0"
               throws="1">
-        <doc xml:whitespace="preserve">Specifies that @field has to be included in the analysis.
+        <doc xml:space="preserve">Specifies that @field has to be included in the analysis.
 @field is a field specification with the following accepted syntaxes:
 &lt;itemizedlist&gt;
   &lt;listitem&gt;&lt;para&gt;a column name in the source data model (see &lt;link 
linkend="gda-data-model-get-column-index"&gt;gda_data_model_get_column_index()&lt;/link&gt;); 
or&lt;/para&gt;&lt;/listitem&gt;
   &lt;listitem&gt;&lt;para&gt;an SQL expression involving a column name in the source data model, for 
example:
   &lt;programlisting&gt;
 price
-firstname || ' ' || lastname 
+firstname || ' ' || lastname
 nb BETWEEN 5 AND 10&lt;/programlisting&gt;
 &lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;
@@ -8741,24 +9370,27 @@ nb BETWEEN 5 AND 10&lt;/programlisting&gt;
 It is also possible to specify several fields to be added, while separating them by a comma (in effect
 still forming a valid SQL syntax).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="pivot" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataPivot object</doc>
+            <doc xml:space="preserve">a #GdaDataPivot object</doc>
             <type name="DataPivot" c:type="GdaDataPivot*"/>
           </instance-parameter>
           <parameter name="field_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of field to add</doc>
+            <doc xml:space="preserve">the type of field to add</doc>
             <type name="DataPivotFieldType" c:type="GdaDataPivotFieldType"/>
           </parameter>
           <parameter name="field" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the field description, see below</doc>
+            <doc xml:space="preserve">the field description, see below</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="alias" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the field alias, or %NULL</doc>
+          <parameter name="alias"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the field alias, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -8767,14 +9399,14 @@ still forming a valid SQL syntax).</doc>
               c:identifier="gda_data_pivot_populate"
               version="5.0"
               throws="1">
-        <doc xml:whitespace="preserve">Acutally populates @pivot by analysing the data from the provided 
data model.</doc>
+        <doc xml:space="preserve">Acutally populates @pivot by analysing the data from the provided data 
model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="pivot" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataPivot object</doc>
+            <doc xml:space="preserve">a #GdaDataPivot object</doc>
             <type name="DataPivot" c:type="GdaDataPivot*"/>
           </instance-parameter>
         </parameters>
@@ -8790,7 +9422,7 @@ still forming a valid SQL syntax).</doc>
       </field>
     </class>
     <enumeration name="DataPivotAggregate" c:type="GdaDataPivotAggregate">
-      <doc xml:whitespace="preserve">Possible operations for the data fields.</doc>
+      <doc xml:space="preserve">Possible operations for the data fields.</doc>
       <member name="avg" value="0" c:identifier="GDA_DATA_PIVOT_AVG">
       </member>
       <member name="count" value="1" c:identifier="GDA_DATA_PIVOT_COUNT">
@@ -8838,7 +9470,7 @@ still forming a valid SQL syntax).</doc>
       </field>
     </record>
     <enumeration name="DataPivotError" c:type="GdaDataPivotError">
-      <doc xml:whitespace="preserve">Possible #GdaDataPivot related errors.</doc>
+      <doc xml:space="preserve">Possible #GdaDataPivot related errors.</doc>
       <member name="internal_error"
               value="0"
               c:identifier="GDA_DATA_PIVOT_INTERNAL_ERROR">
@@ -8861,7 +9493,7 @@ still forming a valid SQL syntax).</doc>
       </member>
     </enumeration>
     <enumeration name="DataPivotFieldType" c:type="GdaDataPivotFieldType">
-      <doc xml:whitespace="preserve">Define types of field to be used when defining a #GdaDataPivot 
analysis.</doc>
+      <doc xml:space="preserve">Define types of field to be used when defining a #GdaDataPivot 
analysis.</doc>
       <member name="row" value="0" c:identifier="GDA_DATA_PIVOT_FIELD_ROW">
       </member>
       <member name="column"
@@ -8880,14 +9512,14 @@ still forming a valid SQL syntax).</doc>
            glib:type-struct="DataProxyClass">
       <implements name="DataModel"/>
       <constructor name="new" c:identifier="gda_data_proxy_new">
-        <doc xml:whitespace="preserve">Creates a new proxy for @model. For bindings use 
@gda_data_proxy_new_with_data_model.</doc>
+        <doc xml:space="preserve">Creates a new proxy for @model. For bindings use 
@gda_data_proxy_new_with_data_model.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataProxy object</doc>
+          <doc xml:space="preserve">a new #GdaDataProxy object</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </return-value>
         <parameters>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Data model to be proxied</doc>
+            <doc xml:space="preserve">Data model to be proxied</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -8895,15 +9527,15 @@ still forming a valid SQL syntax).</doc>
       <constructor name="new_with_data_model"
                    c:identifier="gda_data_proxy_new_with_data_model"
                    version="5.2.0">
-        <doc xml:whitespace="preserve">Creates a new proxy for @model. This is the preferred method to 
create 
+        <doc xml:space="preserve">Creates a new proxy for @model. This is the preferred method to create
 #GdaDataProxy objects by bindings.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataProxy object</doc>
+          <doc xml:space="preserve">a new #GdaDataProxy object</doc>
           <type name="DataProxy" c:type="GdaDataProxy*"/>
         </return-value>
         <parameters>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Data model to be proxied</doc>
+            <doc xml:space="preserve">Data model to be proxied</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -9002,7 +9634,7 @@ still forming a valid SQL syntax).</doc>
       </virtual-method>
       <method name="alter_value_attributes"
               c:identifier="gda_data_proxy_alter_value_attributes">
-        <doc xml:whitespace="preserve">Alters the attributes of the value stored at (proxy_row, col) in 
@proxy. the @alter_flags
+        <doc xml:space="preserve">Alters the attributes of the value stored at (proxy_row, col) in @proxy. 
the @alter_flags
 can only contain the GDA_VALUE_ATTR_IS_NULL, GDA_VALUE_ATTR_IS_DEFAULT and GDA_VALUE_ATTR_IS_UNCHANGED
 flags (other flags are ignored).</doc>
         <return-value transfer-ownership="none">
@@ -9010,19 +9642,19 @@ flags (other flags are ignored).</doc>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A proxy row number</doc>
+            <doc xml:space="preserve">A proxy row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid column number</doc>
+            <doc xml:space="preserve">a valid column number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="alter_flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">flags to alter the attributes</doc>
+            <doc xml:space="preserve">flags to alter the attributes</doc>
             <type name="ValueAttribute" c:type="GdaValueAttribute"/>
           </parameter>
         </parameters>
@@ -9030,16 +9662,16 @@ flags (other flags are ignored).</doc>
       <method name="apply_all_changes"
               c:identifier="gda_data_proxy_apply_all_changes"
               throws="1">
-        <doc xml:whitespace="preserve">Apply all the changes stored in the proxy to the proxied data model. 
The changes are done row
+        <doc xml:space="preserve">Apply all the changes stored in the proxy to the proxied data model. The 
changes are done row
 after row, and if an error
 occurs, then it is possible that not all the changes to all the rows have been applied.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
@@ -9047,370 +9679,371 @@ occurs, then it is possible that not all the changes to all the rows have been a
       <method name="apply_row_changes"
               c:identifier="gda_data_proxy_apply_row_changes"
               throws="1">
-        <doc xml:whitespace="preserve">Commits the modified data in the proxy back into the 
#GdaDataModel.</doc>
+        <doc xml:space="preserve">Commits the modified data in the proxy back into the #GdaDataModel.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row number to commit</doc>
+            <doc xml:space="preserve">the row number to commit</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="cancel_all_changes"
               c:identifier="gda_data_proxy_cancel_all_changes">
-        <doc xml:whitespace="preserve">Cancel all the changes stored in the proxy (the @proxy will be reset 
to its state
+        <doc xml:space="preserve">Cancel all the changes stored in the proxy (the @proxy will be reset to 
its state
 as it was just after creation). Note that if there are some cached changes (i.e. not applied
 to the current proxied data model), then these cached changes are not cleared (set the "cache-changes"
 property to %FALSE for this).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="cancel_row_changes"
               c:identifier="gda_data_proxy_cancel_row_changes">
-        <doc xml:whitespace="preserve">Resets data at the corresponding row and column. If @proxy_row 
corresponds to a new row, then
+        <doc xml:space="preserve">Resets data at the corresponding row and column. If @proxy_row corresponds 
to a new row, then
 that new row is deleted from @proxy.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row to cancel changes</doc>
+            <doc xml:space="preserve">the row to cancel changes</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column to cancel changes, or less than 0 to cancel any change 
on the @row row</doc>
+            <doc xml:space="preserve">the column to cancel changes, or less than 0 to cancel any change on 
the @row row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="delete" c:identifier="gda_data_proxy_delete">
-        <doc xml:whitespace="preserve">Marks the row @proxy_row to be deleted</doc>
+        <doc xml:space="preserve">Marks the row @proxy_row to be deleted</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A proxy row number</doc>
+            <doc xml:space="preserve">A proxy row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_filter_expr"
               c:identifier="gda_data_proxy_get_filter_expr">
-        <doc xml:whitespace="preserve">Get the current filter expression used by @proxy.</doc>
+        <doc xml:space="preserve">Get the current filter expression used by @proxy.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the current filter expression or %NULL if no filter has been 
set</doc>
+          <doc xml:space="preserve">the current filter expression or %NULL if no filter has been set</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_filtered_n_rows"
               c:identifier="gda_data_proxy_get_filtered_n_rows">
-        <doc xml:whitespace="preserve">Get the total number of filtered rows in @proxy if a filter has been 
applied. As new rows
+        <doc xml:space="preserve">Get the total number of filtered rows in @proxy if a filter has been 
applied. As new rows
 (rows added to the proxy and not yet added to the proxied data model) and rows to remove
 (rows marked for removal but not yet removed from the proxied data model) are also filtered,
 the returned number also contains references to new rows and rows to be removed.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of filtered rows in @proxy, or -1 if no filter has been 
applied</doc>
+          <doc xml:space="preserve">the number of filtered rows in @proxy, or -1 if no filter has been 
applied</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_n_modified_rows"
               c:identifier="gda_data_proxy_get_n_modified_rows">
-        <doc xml:whitespace="preserve">Get the number of rows which have been modified in the proxy (the sum 
of rows existing in
+        <doc xml:space="preserve">Get the number of rows which have been modified in the proxy (the sum of 
rows existing in
 the proxied data model which have been modified, and new rows).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of modified rows</doc>
+          <doc xml:space="preserve">the number of modified rows</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_n_new_rows"
               c:identifier="gda_data_proxy_get_n_new_rows">
-        <doc xml:whitespace="preserve">Get the number of rows which have been added to @proxy and which are 
not part of
+        <doc xml:space="preserve">Get the number of rows which have been added to @proxy and which are not 
part of
 the proxied data model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of new rows</doc>
+          <doc xml:space="preserve">the number of new rows</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_proxied_model"
               c:identifier="gda_data_proxy_get_proxied_model">
-        <doc xml:whitespace="preserve">Fetch the #GdaDataModel which @proxy does proxy</doc>
+        <doc xml:space="preserve">Fetch the #GdaDataModel which @proxy does proxy</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the proxied data model</doc>
+          <doc xml:space="preserve">the proxied data model</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_proxied_model_n_cols"
               c:identifier="gda_data_proxy_get_proxied_model_n_cols">
-        <doc xml:whitespace="preserve">Get the number of columns in the proxied data model</doc>
+        <doc xml:space="preserve">Get the number of columns in the proxied data model</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns, or -1 if an error occurred</doc>
+          <doc xml:space="preserve">the number of columns, or -1 if an error occurred</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_proxied_model_n_rows"
               c:identifier="gda_data_proxy_get_proxied_model_n_rows">
-        <doc xml:whitespace="preserve">Get the number of rows in the proxied data model</doc>
+        <doc xml:space="preserve">Get the number of rows in the proxied data model</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of rows, or -1 if the number of rows is not known</doc>
+          <doc xml:space="preserve">the number of rows, or -1 if the number of rows is not known</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_proxied_model_row"
               c:identifier="gda_data_proxy_get_proxied_model_row">
-        <doc xml:whitespace="preserve">Get the @proxy's proxied model row corresponding to @proxy_row</doc>
+        <doc xml:space="preserve">Get the @proxy's proxied model row corresponding to @proxy_row</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the proxied model's row, or -1 if @proxy row which only exists 
@proxy</doc>
+          <doc xml:space="preserve">the proxied model's row, or -1 if @proxy row which only exists 
@proxy</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A proxy row number</doc>
+            <doc xml:space="preserve">A proxy row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_sample_end"
               c:identifier="gda_data_proxy_get_sample_end">
-        <doc xml:whitespace="preserve">Get the number of the last row to be available in @proxy (in 
reference to the proxied data model)</doc>
+        <doc xml:space="preserve">Get the number of the last row to be available in @proxy (in reference to 
the proxied data model)</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of the last proxied model's row.</doc>
+          <doc xml:space="preserve">the number of the last proxied model's row.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_sample_size"
               c:identifier="gda_data_proxy_get_sample_size">
-        <doc xml:whitespace="preserve">Get the size of each chunk of data displayed at a time.</doc>
+        <doc xml:space="preserve">Get the size of each chunk of data displayed at a time.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the chunk (or sample) size, or 0 if chunking is disabled.</doc>
+          <doc xml:space="preserve">the chunk (or sample) size, or 0 if chunking is disabled.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_sample_start"
               c:identifier="gda_data_proxy_get_sample_start">
-        <doc xml:whitespace="preserve">Get the number of the first row to be available in @proxy (in 
reference to the proxied data model)</doc>
+        <doc xml:space="preserve">Get the number of the first row to be available in @proxy (in reference to 
the proxied data model)</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of the first proxied model's row.</doc>
+          <doc xml:space="preserve">the number of the first proxied model's row.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_value_attributes"
               c:identifier="gda_data_proxy_get_value_attributes">
-        <doc xml:whitespace="preserve">Get the attributes of the value stored at (proxy_row, col) in @proxy, 
which
+        <doc xml:space="preserve">Get the attributes of the value stored at (proxy_row, col) in @proxy, which
 is an ORed value of #GdaValueAttribute flags</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaValueAttribute with the value's attributes at given 
position</doc>
+          <doc xml:space="preserve">a #GdaValueAttribute with the value's attributes at given position</doc>
           <type name="ValueAttribute" c:type="GdaValueAttribute"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a proxy row</doc>
+            <doc xml:space="preserve">a proxy row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid proxy column</doc>
+            <doc xml:space="preserve">a valid proxy column</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_values" c:identifier="gda_data_proxy_get_values">
-        <doc xml:whitespace="preserve">Retrieve a whole list of values from the @proxy data model. This 
function
+        <doc xml:space="preserve">Retrieve a whole list of values from the @proxy data model. This function
 calls gda_data_proxy_get_value()
 for each column index specified in @cols_index, and generates a #GSList on the way.</doc>
         <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a new list of values (the list must be freed, not the values), or 
%NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new list of values (the list must be freed, not the values),
+or %NULL if an error occurred</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="GObject.Value"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a proxy row</doc>
+            <doc xml:space="preserve">a proxy row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="cols_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">array containing the columns for which the values are 
requested</doc>
-            <array zero-terminated="0" c:type="gint*">
+            <doc xml:space="preserve">array containing the columns for which the values are requested</doc>
+            <array length="2" zero-terminated="0" c:type="gint*">
               <type name="gint" c:type="gint"/>
             </array>
           </parameter>
           <parameter name="n_cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">size of @cols_index</doc>
+            <doc xml:space="preserve">size of @cols_index</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="has_changed" c:identifier="gda_data_proxy_has_changed">
-        <doc xml:whitespace="preserve">Tells if @proxy contains any modifications not applied to the proxied 
data model.</doc>
+        <doc xml:space="preserve">Tells if @proxy contains any modifications not applied to the proxied data 
model.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if there are some modifications in @proxy</doc>
+          <doc xml:space="preserve">TRUE if there are some modifications in @proxy</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="is_read_only" c:identifier="gda_data_proxy_is_read_only">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the proxied data model is itself read-only</doc>
+          <doc xml:space="preserve">TRUE if the proxied data model is itself read-only</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="row_has_changed"
               c:identifier="gda_data_proxy_row_has_changed">
-        <doc xml:whitespace="preserve">Tells if the row number @proxy_row has changed</doc>
+        <doc xml:space="preserve">Tells if the row number @proxy_row has changed</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the row has changed</doc>
+          <doc xml:space="preserve">TRUE if the row has changed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A proxy row number</doc>
+            <doc xml:space="preserve">A proxy row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="row_is_deleted"
               c:identifier="gda_data_proxy_row_is_deleted">
-        <doc xml:whitespace="preserve">Tells if the row number @proxy_row is marked to be deleted.</doc>
+        <doc xml:space="preserve">Tells if the row number @proxy_row is marked to be deleted.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the row is marked to be deleted</doc>
+          <doc xml:space="preserve">TRUE if the row is marked to be deleted</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A proxy row number</doc>
+            <doc xml:space="preserve">A proxy row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="row_is_inserted"
               c:identifier="gda_data_proxy_row_is_inserted">
-        <doc xml:whitespace="preserve">Tells if the row number @proxy_row is a row which has been inserted 
in @proxy
+        <doc xml:space="preserve">Tells if the row number @proxy_row is a row which has been inserted in 
@proxy
 (and is thus not in the proxied data model).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the row is an inserted row</doc>
+          <doc xml:space="preserve">TRUE if the row is an inserted row</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A proxy row number</doc>
+            <doc xml:space="preserve">A proxy row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -9418,7 +10051,7 @@ for each column index specified in @cols_index, and generates a #GSList on the w
       <method name="set_filter_expr"
               c:identifier="gda_data_proxy_set_filter_expr"
               throws="1">
-        <doc xml:whitespace="preserve">Sets a filter among the rows presented by @proxy. The filter is 
defined by a filter expression
+        <doc xml:space="preserve">Sets a filter among the rows presented by @proxy. The filter is defined by 
a filter expression
 which can be any SQL valid expression using @proxy's columns. For instance if @proxy has the "id" and
 "name" columns, then a filter can be "length(name) &lt; 5" to filter only the rows where the length of the
 name is strictly inferior to 5, or "id &gt;= 1000 and id &lt; 2000 order by name limit 50" to filter only 
the rows where the id
@@ -9430,18 +10063,19 @@ Note about column names: real column names can be used (double quoted if necessa
 Note that any previous filter expression is replaced with the new @filter_expr if no error occurs
 (if an error occurs, then any previous filter is left unchanged).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="filter_expr"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">an SQL based expression which will filter the contents of @proxy, 
or %NULL to remove any previous filter</doc>
+            <doc xml:space="preserve">an SQL based expression which will filter the contents of @proxy, or 
%NULL to remove any previous filter</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -9449,25 +10083,25 @@ Note that any previous filter expression is replaced with the new @filter_expr i
       <method name="set_ordering_column"
               c:identifier="gda_data_proxy_set_ordering_column"
               throws="1">
-        <doc xml:whitespace="preserve">Orders by the @col column</doc>
+        <doc xml:space="preserve">Orders by the @col column</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column number to order from</doc>
+            <doc xml:space="preserve">the column number to order from</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_sample_size"
               c:identifier="gda_data_proxy_set_sample_size">
-        <doc xml:whitespace="preserve">Sets the size of each chunk of data to display: the maximum number of 
rows which
+        <doc xml:space="preserve">Sets the size of each chunk of data to display: the maximum number of rows 
which
 can be "displayed" at a time (the maximum number of rows which @proxy pretends to have).
 The default value is arbitrary 300 as it is big enough to
 be able to display quite a lot of data, but small enough to avoid too much data
@@ -9483,44 +10117,44 @@ To remove the chunking of the data to display, simply pass @sample_size the %0 v
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="sample_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the requested size of a chunk, or 0</doc>
+            <doc xml:space="preserve">the requested size of a chunk, or 0</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_sample_start"
               c:identifier="gda_data_proxy_set_sample_start">
-        <doc xml:whitespace="preserve">Sets the number of the first row to be available in @proxy (in 
reference to the proxied data model)</doc>
+        <doc xml:space="preserve">Sets the number of the first row to be available in @proxy (in reference 
to the proxied data model)</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="sample_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of the first row to be displayed</doc>
+            <doc xml:space="preserve">the number of the first row to be displayed</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="undelete" c:identifier="gda_data_proxy_undelete">
-        <doc xml:whitespace="preserve">Remove the "to be deleted" mark at the row @proxy_row, if it 
existed.</doc>
+        <doc xml:space="preserve">Remove the "to be deleted" mark at the row @proxy_row, if it existed.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="proxy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataProxy object</doc>
+            <doc xml:space="preserve">a #GdaDataProxy object</doc>
             <type name="DataProxy" c:type="GdaDataProxy*"/>
           </instance-parameter>
           <parameter name="proxy_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A proxy row number</doc>
+            <doc xml:space="preserve">A proxy row number</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -9529,7 +10163,7 @@ To remove the chunking of the data to display, simply pass @sample_size the %0 v
                 version="5.2"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines how changes kept in the data proxy are handled when the 
proxied data model
+        <doc xml:space="preserve">Defines how changes kept in the data proxy are handled when the proxied 
data model
 is changed (using the "model" property). The default is to silently discard all the
 changes, but if this property is set to %TRUE, then the changes are cached.
 
@@ -9568,86 +10202,86 @@ the change's number of columns match the proxied data model's number of columns
         <type name="DataProxyPrivate" c:type="GdaDataProxyPrivate*"/>
       </field>
       <glib:signal name="filter-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when @proxy's filter has been changed</doc>
+        <doc xml:space="preserve">Gets emitted when @proxy's filter has been changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="row-changes-applied" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when @proxy has committed a row change to the proxied 
data model.</doc>
+        <doc xml:space="preserve">Gets emitted when @proxy has committed a row change to the proxied data 
model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the proxy's row</doc>
+            <doc xml:space="preserve">the proxy's row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="proxied_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the proxied data model's row</doc>
+            <doc xml:space="preserve">the proxied data model's row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="row-delete-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a row has been marked to be deleted, or has 
been unmarked to be deleted</doc>
+        <doc xml:space="preserve">Gets emitted whenever a row has been marked to be deleted, or has been 
unmarked to be deleted</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the concerned @proxy's row</doc>
+            <doc xml:space="preserve">the concerned @proxy's row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="to_be_deleted" transfer-ownership="none">
-            <doc xml:whitespace="preserve">tells if the @row is marked to be deleted</doc>
+            <doc xml:space="preserve">tells if the @row is marked to be deleted</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="sample-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever @proxy's sample size has been changed. 
@sample_start and @sample_end are
+        <doc xml:space="preserve">Gets emitted whenever @proxy's sample size has been changed. @sample_start 
and @sample_end are
 in reference to the proxied data model.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="sample_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the first row of the sample</doc>
+            <doc xml:space="preserve">the first row of the sample</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="sample_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the last row of the sample</doc>
+            <doc xml:space="preserve">the last row of the sample</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="sample-size-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever @proxy's sample size has been changed</doc>
+        <doc xml:space="preserve">Gets emitted whenever @proxy's sample size has been changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="sample_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new sample size</doc>
+            <doc xml:space="preserve">the new sample size</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="validate-row-changes" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when @proxy is about to commit a row change to the 
proxied data model. If any
+        <doc xml:space="preserve">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</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GError if validation failed, or %NULL</doc>
+          <doc xml:space="preserve">a new #GError if validation failed, or %NULL</doc>
           <type name="GLib.Error"/>
         </return-value>
         <parameters>
           <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the proxy's row</doc>
+            <doc xml:space="preserve">the proxy's row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="proxied_row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the proxied data model's row</doc>
+            <doc xml:space="preserve">the proxied data model's row</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -9912,15 +10546,15 @@ callback returns a non %NULL value, then the change commit fails with the return
       <method name="compute_columns_attributes"
               c:identifier="gda_data_select_compute_columns_attributes"
               throws="1">
-        <doc xml:whitespace="preserve">Computes correct attributes for each of @model's columns, which 
includes the "NOT NULL" attribute, the
+        <doc xml:space="preserve">Computes correct attributes for each of @model's columns, which includes 
the "NOT NULL" attribute, the
 default value, the precision and scale for numeric values.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
         </parameters>
@@ -9928,18 +10562,18 @@ default value, the precision and scale for numeric values.</doc>
       <method name="compute_modification_statements"
               c:identifier="gda_data_select_compute_modification_statements"
               throws="1">
-        <doc xml:whitespace="preserve">Makes @model try to compute INSERT, UPDATE and DELETE statements to 
be used when modifying @model's contents.
+        <doc xml:space="preserve">Makes @model try to compute INSERT, UPDATE and DELETE statements to be 
used when modifying @model's contents.
 Note: any modification statement set using gda_data_select_set_modification_statement() will first be unset
 
 This function is similar to calling gda_data_select_compute_modification_statements_ext() with
 @cond_type set to %GDA_DATA_SELECT_COND_PK</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred. If %FALSE is returned, then some 
modification statement may still have been computed</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred. If %FALSE is returned, then some 
modification statement may still have been computed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
         </parameters>
@@ -9948,19 +10582,19 @@ This function is similar to calling gda_data_select_compute_modification_stateme
               c:identifier="gda_data_select_compute_modification_statements_ext"
               version="4.2.9"
               throws="1">
-        <doc xml:whitespace="preserve">Makes @model try to compute INSERT, UPDATE and DELETE statements to 
be used when modifying @model's contents.
+        <doc xml:space="preserve">Makes @model try to compute INSERT, UPDATE and DELETE statements to be 
used when modifying @model's contents.
 Note: any modification statement set using gda_data_select_set_modification_statement() will first be 
unset</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred. If %FALSE is returned, then some 
modification statement may still have been computed</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred. If %FALSE is returned, then some 
modification statement may still have been computed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
           <parameter name="cond_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of condition for the modifications where one row only 
should be identified</doc>
+            <doc xml:space="preserve">the type of condition for the modifications where one row only should 
be identified</doc>
             <type name="DataSelectConditionType"
                   c:type="GdaDataSelectConditionType"/>
           </parameter>
@@ -9969,7 +10603,7 @@ Note: any modification statement set using gda_data_select_set_modification_stat
       <method name="compute_row_selection_condition"
               c:identifier="gda_data_select_compute_row_selection_condition"
               throws="1">
-        <doc xml:whitespace="preserve">Offers the same features as 
gda_data_select_set_row_selection_condition() but the expression
+        <doc xml:space="preserve">Offers the same features as gda_data_select_set_row_selection_condition() 
but the expression
 is computed from the meta data associated to the connection being used when @model was created.
 
 NOTE1: make sure the meta data associated to the connection is up to date before using this
@@ -9978,27 +10612,27 @@ method, see gda_connection_update_meta_store().
 NOTE2: if the SELECT statement from which @model has been created uses more than one table, or
 if the table used does not have any primary key, then this method will fail</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect object</doc>
+            <doc xml:space="preserve">a #GdaDataSelect object</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_connection"
               c:identifier="gda_data_select_get_connection">
-        <doc xml:whitespace="preserve">Get a pointer to the #GdaConnection object which was used when @model 
was created
+        <doc xml:space="preserve">Get a pointer to the #GdaConnection object which was used when @model was 
created
 (and which may be used internally by @model).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the #GdaConnection, or %NULL</doc>
+          <doc xml:space="preserve">a pointer to the #GdaConnection, or %NULL</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
         </parameters>
@@ -10007,7 +10641,7 @@ if the table used does not have any primary key, then this method will fail</doc
               c:identifier="gda_data_select_prepare_for_offline"
               version="5.2.0"
               throws="1">
-        <doc xml:whitespace="preserve">Use this method to make sure all the data contained in the data model 
are stored on the client
+        <doc xml:space="preserve">Use this method to make sure all the data contained in the data model are 
stored on the client
 side (and that no subsquent call to the server will be necessary to access that data), at the cost of
 a higher memory consumption.
 
@@ -10024,12 +10658,12 @@ Note that this method will fail if:
   &lt;listitem&gt;&lt;para&gt;the data model has been modified since it was 
created&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect object</doc>
+            <doc xml:space="preserve">a #GdaDataSelect object</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
         </parameters>
@@ -10038,15 +10672,15 @@ Note that this method will fail if:
               c:identifier="gda_data_select_rerun"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Requests that @model be re-run to have an updated result. If an error 
occurs,
+        <doc xml:space="preserve">Requests that @model be re-run to have an updated result. If an error 
occurs,
 then @model will not be changed.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
         </parameters>
@@ -10054,7 +10688,7 @@ then @model will not be changed.</doc>
       <method name="set_modification_statement"
               c:identifier="gda_data_select_set_modification_statement"
               throws="1">
-        <doc xml:whitespace="preserve">Informs @model that it should allow modifications to the data in some 
columns and some rows
+        <doc xml:space="preserve">Informs @model that it should allow modifications to the data in some 
columns and some rows
 using @mod_stmt to propagate those modifications into the database.
 
 If @mod_stmt is:
@@ -10065,7 +10699,7 @@ If @mod_stmt is:
  &lt;listitem&gt;&lt;para&gt;any other statement, then this method will return an 
error&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;
 
-This method can be called several times to specify different types of modification statements. 
+This method can be called several times to specify different types of modification statements.
 
 Each modification statement will be executed when one or more values are modified in the data model;
 each statement should then include variables which will be set to either the old value or the
@@ -10101,16 +10735,16 @@ NOTE2: if gda_data_select_set_row_selection_condition()
 or gda_data_select_set_row_selection_condition_sql() have not yet been successfully be called before, then
 the WHERE part of @mod_stmt will be used as if one of these functions had been called.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
           <parameter name="mod_stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement (INSERT, UPDATE or DELETE)</doc>
+            <doc xml:space="preserve">a #GdaStatement (INSERT, UPDATE or DELETE)</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
@@ -10118,18 +10752,18 @@ the WHERE part of @mod_stmt will be used as if one of these functions had been c
       <method name="set_modification_statement_sql"
               c:identifier="gda_data_select_set_modification_statement_sql"
               throws="1">
-        <doc xml:whitespace="preserve">Offers the same feature as 
gda_data_select_set_modification_statement() but using an SQL statement.</doc>
+        <doc xml:space="preserve">Offers the same feature as gda_data_select_set_modification_statement() 
but using an SQL statement.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
           <parameter name="sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an SQL text</doc>
+            <doc xml:space="preserve">an SQL text</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -10138,19 +10772,19 @@ the WHERE part of @mod_stmt will be used as if one of these functions had been c
               c:identifier="gda_data_select_set_row_selection_condition"
               introspectable="0"
               throws="1">
-        <doc xml:whitespace="preserve">Offers the same features as 
gda_data_select_set_row_selection_condition_sql() but using a #GdaSqlExpr
+        <doc xml:space="preserve">Offers the same features as 
gda_data_select_set_row_selection_condition_sql() but using a #GdaSqlExpr
 structure instead of an SQL syntax.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
           <parameter name="expr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlExpr expression</doc>
+            <doc xml:space="preserve">a #GdaSqlExpr expression</doc>
             <type name="SqlExpr" c:type="GdaSqlExpr*"/>
           </parameter>
         </parameters>
@@ -10158,7 +10792,7 @@ structure instead of an SQL syntax.</doc>
       <method name="set_row_selection_condition_sql"
               c:identifier="gda_data_select_set_row_selection_condition_sql"
               throws="1">
-        <doc xml:whitespace="preserve">Specifies the SQL condition corresponding to the WHERE part of a 
SELECT statement which would
+        <doc xml:space="preserve">Specifies the SQL condition corresponding to the WHERE part of a SELECT 
statement which would
 return only 1 row (the expression of the primary key).
 
 For example for a table created as &lt;![CDATA["CREATE TABLE mytable (part1 int NOT NULL, part2 string NOT 
NULL,
@@ -10172,16 +10806,16 @@ For more information about the syntax of the parameters (named &lt;![CDATA["##-1
 &lt;link linkend="GdaSqlParser.description"&gt;GdaSqlParser&lt;/link&gt; documentation, and
 gda_data_select_set_modification_statement().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+            <doc xml:space="preserve">a #GdaDataSelect data model</doc>
             <type name="DataSelect" c:type="GdaDataSelect*"/>
           </instance-parameter>
           <parameter name="sql_where" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an SQL condition (without the WHERE keyword)</doc>
+            <doc xml:space="preserve">an SQL condition (without the WHERE keyword)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -10208,7 +10842,7 @@ gda_data_select_set_modification_statement().</doc>
                 version="4.2.9"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">This property stores the execution delay which has been necessary to 
obtain the data</doc>
+        <doc xml:space="preserve">This property stores the execution delay which has been necessary to 
obtain the data</doc>
         <type name="gdouble" c:type="gdouble"/>
       </property>
       <property name="insert-stmt" writable="1" transfer-ownership="none">
@@ -10393,15 +11027,15 @@ gda_data_select_set_modification_statement().</doc>
     </record>
     <enumeration name="DataSelectConditionType"
                  c:type="GdaDataSelectConditionType">
-      <doc xml:whitespace="preserve">Defines what criteria 
gda_data_select_compute_modification_statements_ext() uses
+      <doc xml:space="preserve">Defines what criteria gda_data_select_compute_modification_statements_ext() 
uses
 to uniquely identify a single row in a table when creating modification statements.</doc>
       <member name="pk" value="0" c:identifier="GDA_DATA_SELECT_COND_PK">
-        <doc xml:whitespace="preserve">only primary key fields are used</doc>
+        <doc xml:space="preserve">only primary key fields are used</doc>
       </member>
       <member name="all_columns"
               value="1"
               c:identifier="GDA_DATA_SELECT_COND_ALL_COLUMNS">
-        <doc xml:whitespace="preserve">all the columns of the tables are used</doc>
+        <doc xml:space="preserve">all the columns of the tables are used</doc>
       </member>
     </enumeration>
     <enumeration name="DataSelectError" c:type="GdaDataSelectError">
@@ -10439,30 +11073,30 @@ to uniquely identify a single row in a table when creating modification statemen
                 glib:type-name="GdaDefault"
                 glib:get-type="gda_default_get_type">
       <function name="escape_string" c:identifier="gda_default_escape_string">
-        <doc xml:whitespace="preserve">Escapes @string to make it understandable by a DBMS. The escape 
method is very common and replaces any
+        <doc xml:space="preserve">Escapes @string to make it understandable by a DBMS. The escape method is 
very common and replaces any
 occurrence of "'" with "''" and "\" with "\\"</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string</doc>
+          <doc xml:space="preserve">a new string</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <parameter name="string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">string to escape</doc>
+            <doc xml:space="preserve">string to escape</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </function>
       <function name="unescape_string"
                 c:identifier="gda_default_unescape_string">
-        <doc xml:whitespace="preserve">Do the reverse of gda_default_escape_string(): transforms any "''" 
into "'", any
+        <doc xml:space="preserve">Do the reverse of gda_default_escape_string(): transforms any "''" into 
"'", any
 "\\" into "\" and any "\'" into "'".</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new unescaped string, or %NULL in an error was found in 
@string</doc>
+          <doc xml:space="preserve">a new unescaped string, or %NULL in an error was found in @string</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <parameter name="string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">string to unescape</doc>
+            <doc xml:space="preserve">string to unescape</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -10498,23 +11132,29 @@ occurrence of "'" with "''" and "\" with "\\"</doc>
             glib:type-name="GdaDsnInfo"
             glib:get-type="gda_dsn_info_get_type"
             c:symbol-prefix="dsn_info">
-      <doc xml:whitespace="preserve">This structure defines the properties of a named data source 
(DSN).</doc>
+      <doc xml:space="preserve">This structure defines the properties of a named data source (DSN).</doc>
       <field name="name" writable="1">
+        <doc xml:space="preserve">the (unique) name of the DSN (plain text, not RFC 1738 encoded)</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="provider" writable="1">
+        <doc xml:space="preserve">the ID of the database provider to be used (plain text, not RFC 1738 
encoded)</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="description" writable="1">
+        <doc xml:space="preserve">a descriptive string (plain text, not RFC 1738 encoded), can be 
%NULL.</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="cnc_string" writable="1">
+        <doc xml:space="preserve">the connection string, a semi-colon separated 
&amp;lt;key&gt;=&amp;lt;value&amp;gt; list where &amp;lt;key&amp;gt; and &amp;lt;value&amp;gt; are RFC 1738 
encoded</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="auth_string" writable="1">
+        <doc xml:space="preserve">the authentication string, a semi-colon separated 
&amp;lt;key&gt;=&amp;lt;value&amp;gt; list where &amp;lt;key&amp;gt; and &amp;lt;value&amp;gt; are RFC 1738 
encoded. Can be %NULL.</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="is_system" writable="1">
+        <doc xml:space="preserve">%TRUE if the DSN is a system wide defined data source</doc>
         <type name="gboolean" c:type="gboolean"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -10530,35 +11170,36 @@ occurrence of "'" with "''" and "\" with "\\"</doc>
         <type name="gpointer" c:type="gpointer"/>
       </field>
       <constructor name="new" c:identifier="gda_dsn_info_new" version="5.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaDsnInfo struct.</doc>
+        <doc xml:space="preserve">Creates a new #GdaDsnInfo struct.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDsnInfo struct.</doc>
+          <doc xml:space="preserve">a new #GdaDsnInfo struct.</doc>
           <type name="DsnInfo" c:type="GdaDsnInfo*"/>
         </return-value>
       </constructor>
       <method name="copy" c:identifier="gda_dsn_info_copy" version="5.2">
-        <doc xml:whitespace="preserve">Copy constructor.</doc>
+        <doc xml:space="preserve">Copy constructor.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDsnInfo</doc>
+          <doc xml:space="preserve">a new #GdaDsnInfo</doc>
           <type name="DsnInfo" c:type="GdaDsnInfo*"/>
         </return-value>
         <parameters>
           <instance-parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDsnInfo to copy from</doc>
+            <doc xml:space="preserve">a #GdaDsnInfo to copy from</doc>
             <type name="DsnInfo" c:type="GdaDsnInfo*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="free" c:identifier="gda_dsn_info_free" version="5.2">
-        <doc xml:whitespace="preserve">Frees any resources taken by @dsn struct. If @dsn is %NULL, then 
nothing happens.</doc>
+        <doc xml:space="preserve">Frees any resources taken by @dsn struct. If @dsn is %NULL, then nothing 
happens.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="dsn"
                               transfer-ownership="none"
+                              nullable="1"
                               allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaDsnInfo struct to free</doc>
+            <doc xml:space="preserve">a #GdaDsnInfo struct to free</doc>
             <type name="DsnInfo" c:type="GdaDsnInfo*"/>
           </instance-parameter>
         </parameters>
@@ -10610,9 +11251,9 @@ occurrence of "'" with "''" and "\" with "\\"</doc>
            glib:type-struct="HandlerBinClass">
       <implements name="DataHandler"/>
       <function name="new" c:identifier="gda_handler_bin_new">
-        <doc xml:whitespace="preserve">Creates a data handler for binary values</doc>
+        <doc xml:space="preserve">Creates a data handler for binary values</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
       </function>
@@ -10655,9 +11296,9 @@ occurrence of "'" with "''" and "\" with "\\"</doc>
            glib:type-struct="HandlerBooleanClass">
       <implements name="DataHandler"/>
       <function name="new" c:identifier="gda_handler_boolean_new">
-        <doc xml:whitespace="preserve">Creates a data handler for booleans</doc>
+        <doc xml:space="preserve">Creates a data handler for booleans</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
       </function>
@@ -10702,9 +11343,9 @@ occurrence of "'" with "''" and "\" with "\\"</doc>
            glib:type-struct="HandlerNumericalClass">
       <implements name="DataHandler"/>
       <function name="new" c:identifier="gda_handler_numerical_new">
-        <doc xml:whitespace="preserve">Creates a data handler for numerical values</doc>
+        <doc xml:space="preserve">Creates a data handler for numerical values</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
       </function>
@@ -10749,27 +11390,30 @@ occurrence of "'" with "''" and "\" with "\\"</doc>
            glib:type-struct="HandlerStringClass">
       <implements name="DataHandler"/>
       <function name="new" c:identifier="gda_handler_string_new">
-        <doc xml:whitespace="preserve">Creates a data handler for strings</doc>
+        <doc xml:space="preserve">Creates a data handler for strings</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
       </function>
       <function name="new_with_provider"
                 c:identifier="gda_handler_string_new_with_provider">
-        <doc xml:whitespace="preserve">Creates a data handler for strings, which will use some specific 
methods implemented
+        <doc xml:space="preserve">Creates a data handler for strings, which will use some specific methods 
implemented
 by the @prov object (possibly also @cnc).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
         <parameters>
           <parameter name="prov" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -10815,35 +11459,35 @@ by the @prov object (possibly also @cnc).</doc>
            glib:type-struct="HandlerTimeClass">
       <implements name="DataHandler"/>
       <function name="new" c:identifier="gda_handler_time_new">
-        <doc xml:whitespace="preserve">Creates a data handler for time values</doc>
+        <doc xml:space="preserve">Creates a data handler for time values</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
       </function>
       <function name="new_no_locale"
                 c:identifier="gda_handler_time_new_no_locale">
-        <doc xml:whitespace="preserve">Creates a data handler for time values, but using the default C locale
+        <doc xml:space="preserve">Creates a data handler for time values, but using the default C locale
 instead of the current user locale.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
       </function>
       <method name="get_format" c:identifier="gda_handler_time_get_format">
-        <doc xml:whitespace="preserve">Get a string representing the locale-dependent way to enter a 
date/time/datetime, using
+        <doc xml:space="preserve">Get a string representing the locale-dependent way to enter a 
date/time/datetime, using
 a syntax suitable for the #GdauiFormatEntry widget</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string</doc>
+          <doc xml:space="preserve">a new string</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHandlerTime object</doc>
+            <doc xml:space="preserve">a #GdaHandlerTime object</doc>
             <type name="HandlerTime" c:type="GdaHandlerTime*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of data being handled</doc>
+            <doc xml:space="preserve">the type of data being handled</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
@@ -10851,22 +11495,23 @@ a syntax suitable for the #GdauiFormatEntry widget</doc>
       <method name="get_no_locale_str_from_value"
               c:identifier="gda_handler_time_get_no_locale_str_from_value">
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string representing @value without taking the current locale 
into account</doc>
+          <doc xml:space="preserve">a new string representing @value without taking the current
+locale into account (i.e. in the "C" locale)</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHandlerTime object</doc>
+            <doc xml:space="preserve">a #GdaHandlerTime object</doc>
             <type name="HandlerTime" c:type="GdaHandlerTime*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue value</doc>
+            <doc xml:space="preserve">a #GValue value</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_sql_spec" c:identifier="gda_handler_time_set_sql_spec">
-        <doc xml:whitespace="preserve">Specifies the SQL output style of the @dh data handler. The general 
format is "FIRSTsSECsTHIRD"
+        <doc xml:space="preserve">Specifies the SQL output style of the @dh data handler. The general format 
is "FIRSTsSECsTHIRD"
 where FIRST, SEC and THIRD are specified by @first, @sec and @trird and 's' is the separator,
 specified by @separator.
 
@@ -10877,27 +11522,27 @@ The default implementation is @first=G_DATE_MONTH, @sec=G_DATE_DAY and @third=G_
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHandlerTime object</doc>
+            <doc xml:space="preserve">a #GdaHandlerTime object</doc>
             <type name="HandlerTime" c:type="GdaHandlerTime*"/>
           </instance-parameter>
           <parameter name="first" transfer-ownership="none">
-            <doc xml:whitespace="preserve">what comes first in the date representation</doc>
+            <doc xml:space="preserve">what comes first in the date representation</doc>
             <type name="GLib.DateDMY" c:type="GDateDMY"/>
           </parameter>
           <parameter name="sec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">what comes second in the date representation</doc>
+            <doc xml:space="preserve">what comes second in the date representation</doc>
             <type name="GLib.DateDMY" c:type="GDateDMY"/>
           </parameter>
           <parameter name="third" transfer-ownership="none">
-            <doc xml:whitespace="preserve">what comes third in the date representation</doc>
+            <doc xml:space="preserve">what comes third in the date representation</doc>
             <type name="GLib.DateDMY" c:type="GDateDMY"/>
           </parameter>
           <parameter name="separator" transfer-ownership="none">
-            <doc xml:whitespace="preserve">separator character used between year, month and day</doc>
+            <doc xml:space="preserve">separator character used between year, month and day</doc>
             <type name="gchar" c:type="gchar"/>
           </parameter>
           <parameter name="twodigits_years" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if year part of date must be rendered on 2 digits</doc>
+            <doc xml:space="preserve">TRUE if year part of date must be rendered on 2 digits</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -10905,7 +11550,7 @@ The default implementation is @first=G_DATE_MONTH, @sec=G_DATE_DAY and @third=G_
       <method name="set_str_spec"
               c:identifier="gda_handler_time_set_str_spec"
               version="4.2.1">
-        <doc xml:whitespace="preserve">Specifies the human readable output style of the @dh data handler.
+        <doc xml:space="preserve">Specifies the human readable output style of the @dh data handler.
 The general format is "FIRSTsSECsTHIRD"
 where FIRST, SEC and THIRD are specified by @first, @sec and @trird and 's' is the separator,
 specified by @separator.
@@ -10917,27 +11562,27 @@ using gda_handler_time_new_no_locale().</doc>
         </return-value>
         <parameters>
           <instance-parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHandlerTime object</doc>
+            <doc xml:space="preserve">a #GdaHandlerTime object</doc>
             <type name="HandlerTime" c:type="GdaHandlerTime*"/>
           </instance-parameter>
           <parameter name="first" transfer-ownership="none">
-            <doc xml:whitespace="preserve">what comes first in the date representation</doc>
+            <doc xml:space="preserve">what comes first in the date representation</doc>
             <type name="GLib.DateDMY" c:type="GDateDMY"/>
           </parameter>
           <parameter name="sec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">what comes second in the date representation</doc>
+            <doc xml:space="preserve">what comes second in the date representation</doc>
             <type name="GLib.DateDMY" c:type="GDateDMY"/>
           </parameter>
           <parameter name="third" transfer-ownership="none">
-            <doc xml:whitespace="preserve">what comes third in the date representation</doc>
+            <doc xml:space="preserve">what comes third in the date representation</doc>
             <type name="GLib.DateDMY" c:type="GDateDMY"/>
           </parameter>
           <parameter name="separator" transfer-ownership="none">
-            <doc xml:whitespace="preserve">separator character used between year, month and day</doc>
+            <doc xml:space="preserve">separator character used between year, month and day</doc>
             <type name="gchar" c:type="gchar"/>
           </parameter>
           <parameter name="twodigits_years" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if year part of date must be rendered on 2 digits</doc>
+            <doc xml:space="preserve">TRUE if year part of date must be rendered on 2 digits</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -10981,9 +11626,9 @@ using gda_handler_time_new_no_locale().</doc>
            glib:type-struct="HandlerTypeClass">
       <implements name="DataHandler"/>
       <function name="new" c:identifier="gda_handler_type_new">
-        <doc xml:whitespace="preserve">Creates a data handler for Gda types</doc>
+        <doc xml:space="preserve">Creates a data handler for Gda types</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
       </function>
@@ -11026,14 +11671,14 @@ using gda_handler_time_new_no_locale().</doc>
            glib:type-struct="HolderClass">
       <implements name="Lockable"/>
       <constructor name="new" c:identifier="gda_holder_new">
-        <doc xml:whitespace="preserve">Creates a new holder of type @type</doc>
+        <doc xml:space="preserve">Creates a new holder of type @type</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaHolder object</doc>
+          <doc xml:space="preserve">a new #GdaHolder object</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GType requested</doc>
+            <doc xml:space="preserve">the #GType requested</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
@@ -11041,28 +11686,31 @@ using gda_handler_time_new_no_locale().</doc>
       <constructor name="new_inline"
                    c:identifier="gda_holder_new_inline"
                    introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GdaHolder object with an ID set to @id, of type @type, 
+        <doc xml:space="preserve">Creates a new #GdaHolder object with an ID set to @id, of type @type,
 and containing the value passed as the last argument.
 
 Note that this function is a utility function and that only a limited set of types are supported. Trying
 to use an unsupported type will result in a warning, and the returned value holder holding a safe default
 value.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaHolder object</doc>
+          <doc xml:space="preserve">a new #GdaHolder object</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid GLib type</doc>
+            <doc xml:space="preserve">a valid GLib type</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
-          <parameter name="id" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the id of the holder to create, or %NULL</doc>
+          <parameter name="id"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the id of the holder to create, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg2" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">value to set</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </constructor>
@@ -11121,23 +11769,23 @@ value.</doc>
         </parameters>
       </virtual-method>
       <method name="copy" c:identifier="gda_holder_copy">
-        <doc xml:whitespace="preserve">Copy constructor.
+        <doc xml:space="preserve">Copy constructor.
 
-Note1: if @orig is set with a static value (see gda_holder_take_static_value()) 
+Note1: if @orig is set with a static value (see gda_holder_take_static_value())
 its copy will have a fresh new allocated GValue, so that user should free it when done.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaHolder object</doc>
+          <doc xml:space="preserve">a new #GdaHolder object</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <instance-parameter name="orig" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object to copy</doc>
+            <doc xml:space="preserve">a #GdaHolder object to copy</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="force_invalid" c:identifier="gda_holder_force_invalid">
-        <doc xml:whitespace="preserve">Forces a holder to be invalid; to set it valid again, a new value 
must be assigned
+        <doc xml:space="preserve">Forces a holder to be invalid; to set it valid again, a new value must be 
assigned
 to it using gda_holder_set_value() or gda_holder_take_value().
 
 @holder's value is set to %NULL.</doc>
@@ -11146,7 +11794,7 @@ to it using gda_holder_set_value() or gda_holder_take_value().
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
@@ -11154,7 +11802,7 @@ to it using gda_holder_set_value() or gda_holder_take_value().
       <method name="force_invalid_e"
               c:identifier="gda_holder_force_invalid_e"
               version="4.2.10">
-        <doc xml:whitespace="preserve">Forces a holder to be invalid; to set it valid again, a new value 
must be assigned
+        <doc xml:space="preserve">Forces a holder to be invalid; to set it valid again, a new value must be 
assigned
 to it using gda_holder_set_value() or gda_holder_take_value().
 
 @holder's value is set to %NULL.</doc>
@@ -11163,186 +11811,192 @@ to it using gda_holder_set_value() or gda_holder_take_value().
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
-          <parameter name="error" transfer-ownership="full" allow-none="1">
-            <doc xml:whitespace="preserve">a #GError explaining why @holder is declared invalid, or 
%NULL</doc>
+          <parameter name="error"
+                     transfer-ownership="full"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GError explaining why @holder is declared invalid, or %NULL</doc>
             <type name="GLib.Error" c:type="GError*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_alphanum_id" c:identifier="gda_holder_get_alphanum_id">
-        <doc xml:whitespace="preserve">Get an "encoded" version of @holder's name. The "encoding" consists 
in replacing non
+        <doc xml:space="preserve">Get an "encoded" version of @holder's name. The "encoding" consists in 
replacing non
 alphanumeric character with the string "__gdaXX" where XX is the hex. representation
 of the non alphanumeric char.
 
 This method is just a wrapper around the gda_text_to_alphanum() function.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string</doc>
+          <doc xml:space="preserve">a new string</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_attribute" c:identifier="gda_holder_get_attribute">
-        <doc xml:whitespace="preserve">Get the value associated to a named attribute.
+        <doc xml:space="preserve">Get the value associated to a named attribute.
 
 Attributes can have any name, but Libgda proposes some default names, see &lt;link 
linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has 
been set for @holder</doc>
+          <doc xml:space="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been 
set for @holder</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder</doc>
+            <doc xml:space="preserve">a #GdaHolder</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name as a string</doc>
+            <doc xml:space="preserve">attribute name as a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_bind" c:identifier="gda_holder_get_bind">
-        <doc xml:whitespace="preserve">Get the holder which makes @holder change its value when the holder's 
value is changed.</doc>
+        <doc xml:space="preserve">Get the holder which makes @holder change its value when the holder's 
value is changed.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaHolder or %NULL</doc>
+          <doc xml:space="preserve">the #GdaHolder or %NULL</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder</doc>
+            <doc xml:space="preserve">a #GdaHolder</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_default_value"
               c:identifier="gda_holder_get_default_value">
-        <doc xml:whitespace="preserve">Get the default value held into the holder. WARNING: the default 
value does not need to be of 
+        <doc xml:space="preserve">Get the default value held into the holder. WARNING: the default value 
does not need to be of
 the same type as the one required by @holder.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the default value</doc>
+          <doc xml:space="preserve">the default value</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_g_type" c:identifier="gda_holder_get_g_type">
-        <doc xml:whitespace="preserve">Get @holder's type</doc>
+        <doc xml:space="preserve">Get @holder's type</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the data type</doc>
+          <doc xml:space="preserve">the data type</doc>
           <type name="GType" c:type="GType"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_id" c:identifier="gda_holder_get_id">
-        <doc xml:whitespace="preserve">Get the ID of @holder. The ID can be set using @holder's "id" 
property</doc>
+        <doc xml:space="preserve">Get the ID of @holder. The ID can be set using @holder's "id" 
property</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID (don't modify the string).</doc>
+          <doc xml:space="preserve">the ID (don't modify the string).</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_not_null" c:identifier="gda_holder_get_not_null">
-        <doc xml:whitespace="preserve">Get wether the holder can be NULL or not</doc>
+        <doc xml:space="preserve">Get wether the holder can be NULL or not</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the holder cannot be NULL</doc>
+          <doc xml:space="preserve">TRUE if the holder cannot be NULL</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_source_model"
               c:identifier="gda_holder_get_source_model">
-        <doc xml:whitespace="preserve">If gda_holder_set_source_model() has been used to provide a hint that 
@holder's value
+        <doc xml:space="preserve">If gda_holder_set_source_model() has been used to provide a hint that 
@holder's value
 should be among the values contained in a column of a data model, then this method
 returns which data model, and if @col is not %NULL, then it is set to the restricting column
 as well.
 
 Otherwise, this method returns %NULL, and if @col is not %NULL, then it is set to 0.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #GdaDataModel, or %NULL</doc>
+          <doc xml:space="preserve">a pointer to a #GdaDataModel, or %NULL</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder</doc>
+            <doc xml:space="preserve">a #GdaHolder</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store the column in the model sourcing the holder, or 
%NULL</doc>
+            <doc xml:space="preserve">a place to store the column in the model sourcing the holder, or 
%NULL</doc>
             <type name="gint" c:type="gint*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_value" c:identifier="gda_holder_get_value">
-        <doc xml:whitespace="preserve">Get the value held into the holder. If @holder is set to use its 
default value
+        <doc xml:space="preserve">Get the value held into the holder. If @holder is set to use its default 
value
 and that default value is not of the same type as @holder, then %NULL is returned.
 
 If @holder is set to NULL, then the returned value is a #GDA_TYPE_NULL GValue.
 
 If @holder is invalid, then the returned value is %NULL.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the value, or %NULL</doc>
+          <doc xml:space="preserve">the value, or %NULL</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_value_str" c:identifier="gda_holder_get_value_str">
-        <doc xml:whitespace="preserve">Same functionality as gda_holder_get_value() except that it returns 
the value as a string
+        <doc xml:space="preserve">Same functionality as gda_holder_get_value() except that it returns the 
value as a string
 (the conversion is done using @dh if not %NULL, or the default data handler otherwise).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the value, or %NULL</doc>
+          <doc xml:space="preserve">the value, or %NULL</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
-          <parameter name="dh" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaDataHandler to use, or %NULL</doc>
+          <parameter name="dh"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaDataHandler to use, or %NULL</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </parameter>
         </parameters>
       </method>
       <method name="is_valid" c:identifier="gda_holder_is_valid">
-        <doc xml:whitespace="preserve">Get the validity of @holder (that is, of the value held by 
@holder)</doc>
+        <doc xml:space="preserve">Get the validity of @holder (that is, of the value held by @holder)</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @holder's value can safely be used</doc>
+          <doc xml:space="preserve">TRUE if @holder's value can safely be used</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
@@ -11351,24 +12005,24 @@ If @holder is invalid, then the returned value is %NULL.</doc>
               c:identifier="gda_holder_is_valid_e"
               version="4.2.10"
               throws="1">
-        <doc xml:whitespace="preserve">Get the validity of @holder (that is, of the value held by 
@holder)</doc>
+        <doc xml:space="preserve">Get the validity of @holder (that is, of the value held by @holder)</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @holder's value can safely be used</doc>
+          <doc xml:space="preserve">TRUE if @holder's value can safely be used</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="set_attribute" c:identifier="gda_holder_set_attribute">
-        <doc xml:whitespace="preserve">Set the value associated to a named attribute. The @attribute string 
is 'stolen' by this method, and
+        <doc xml:space="preserve">Set the value associated to a named attribute. The @attribute string is 
'stolen' by this method, and
 the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL,
 then the string will not be freed at all).
 
-Attributes can have any name, but Libgda proposes some default names, 
+Attributes can have any name, but Libgda proposes some default names,
 see &lt;link linkend="libgda-5.0-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.
 
 For example one would use it as:
@@ -11383,48 +12037,48 @@ copied), except if @value is %NULL, in which case the attribute is removed.</doc
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder</doc>
+            <doc xml:space="preserve">a #GdaHolder</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name</doc>
+            <doc xml:space="preserve">attribute name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+            <doc xml:space="preserve">a #GValue, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="destroy" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
+            <doc xml:space="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_bind" c:identifier="gda_holder_set_bind" throws="1">
-        <doc xml:whitespace="preserve">Sets @holder to change when @bind_to changes (and does not make 
@bind_to change when @holder changes).
+        <doc xml:space="preserve">Sets @holder to change when @bind_to changes (and does not make @bind_to 
change when @holder changes).
 For the operation to succeed, the GType of @holder and @bind_to must be the same, with the exception that
 any of them can have a %GDA_TYPE_NULL type (in this situation, the GType of the two #GdaHolder objects
 involved is set to match the other when any of them sets its type to something different than GDA_TYPE_NULL).
 
 If @bind_to is %NULL, then @holder will not be bound anymore.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder</doc>
+            <doc xml:space="preserve">a #GdaHolder</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="bind_to" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder or %NULL</doc>
+            <doc xml:space="preserve">a #GdaHolder or %NULL</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_default_value"
               c:identifier="gda_holder_set_default_value">
-        <doc xml:whitespace="preserve">Sets the default value within the holder. If @value is %NULL then 
@holder won't have a
+        <doc xml:space="preserve">Sets the default value within the holder. If @value is %NULL then @holder 
won't have a
 default value anymore. To set a default value to %NULL, then pass a #GValue created using
 gda_value_new_null().
 
@@ -11434,27 +12088,27 @@ NOTE: the default value does not need to be of the same type as the one required
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a value to set the holder's default value, or %NULL</doc>
+            <doc xml:space="preserve">a value to set the holder's default value, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_not_null" c:identifier="gda_holder_set_not_null">
-        <doc xml:whitespace="preserve">Sets if the holder can have a NULL value. If @not_null is TRUE, then 
that won't be allowed</doc>
+        <doc xml:space="preserve">Sets if the holder can have a NULL value. If @not_null is TRUE, then that 
won't be allowed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="not_null" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if @holder should not accept %NULL values</doc>
+            <doc xml:space="preserve">TRUE if @holder should not accept %NULL values</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -11462,33 +12116,33 @@ NOTE: the default value does not need to be of the same type as the one required
       <method name="set_source_model"
               c:identifier="gda_holder_set_source_model"
               throws="1">
-        <doc xml:whitespace="preserve">Sets an hint that @holder's values should be restricted among the 
values
+        <doc xml:space="preserve">Sets an hint that @holder's values should be restricted among the values
 contained in the @col column of the @model data model. Note that this is just a hint,
 meaning this policy is not enforced by @holder's implementation.
 
 If @model is %NULL, then the effect is to cancel ant previous call to gda_holder_set_source_model()
 where @model was not %NULL.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object or %NULL</doc>
+            <doc xml:space="preserve">a #GdaDataModel object or %NULL</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
           <parameter name="col" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the reference column in @model</doc>
+            <doc xml:space="preserve">the reference column in @model</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_value" c:identifier="gda_holder_set_value" throws="1">
-        <doc xml:whitespace="preserve">Sets the value within the holder. If @holder is an alias for another
+        <doc xml:space="preserve">Sets the value within the holder. If @holder is an alias for another
 holder, then the value is also set for that other holder.
 
 On success, the action of any call to gda_holder_force_invalid() is cancelled
@@ -11506,16 +12160,19 @@ Note3: before the change is accepted by @holder, the "validate-change" signal wi
 of which can prevent the change from happening) which can be connected to to have a greater control
 of which values @holder can have, or implement some business rules.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if value has been set</doc>
+          <doc xml:space="preserve">TRUE if value has been set</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a value to set the holder to, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a value to set the holder to, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -11523,7 +12180,7 @@ of which values @holder can have, or implement some business rules.</doc>
       <method name="set_value_str"
               c:identifier="gda_holder_set_value_str"
               throws="1">
-        <doc xml:whitespace="preserve">Same functionality as gda_holder_set_value() except that it uses a 
string representation
+        <doc xml:space="preserve">Same functionality as gda_holder_set_value() except that it uses a string 
representation
 of the value to set, which will be converted into a GValue first (using default data handler if
 @dh is %NULL).
 
@@ -11531,34 +12188,34 @@ Note1: if @value is %NULL or is the "NULL" string, then @holder's value is set t
 Note2: if @holder can't accept the @value value, then this method returns FALSE, and @holder will be left
 in an invalid state.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if value has been set</doc>
+          <doc xml:space="preserve">TRUE if value has been set</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="dh" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataHandler to use, or %NULL</doc>
+            <doc xml:space="preserve">a #GdaDataHandler to use, or %NULL</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a value to set the holder to, as a string</doc>
+            <doc xml:space="preserve">a value to set the holder to, as a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_value_to_default"
               c:identifier="gda_holder_set_value_to_default">
-        <doc xml:whitespace="preserve">Set @holder's value to its default value.</doc>
+        <doc xml:space="preserve">Set @holder's value to its default value.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @holder has got a default value</doc>
+          <doc xml:space="preserve">TRUE if @holder has got a default value</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
@@ -11566,7 +12223,7 @@ in an invalid state.</doc>
       <method name="take_static_value"
               c:identifier="gda_holder_take_static_value"
               throws="1">
-        <doc xml:whitespace="preserve">Sets the const value within the holder. If @holder is an alias for 
another
+        <doc xml:space="preserve">Sets the const value within the holder. If @holder is an alias for another
 holder, then the value is also set for that other holder.
 
 The value will not be freed, and user should take care of it, either for its
@@ -11582,20 +12239,21 @@ Note2: before the change is accepted by @holder, the "validate-change" signal wi
 of which can prevent the change from happening) which can be connected to to have a greater control
 of which values @holder can have, or implement some business rules.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">NULL if an error occurred or if the previous GValue was NULL 
itself. It returns the static GValue user set previously, so that he can free it.</doc>
+          <doc xml:space="preserve">NULL if an error occurred or if the previous GValue was NULL itself. It 
returns
+the static GValue user set previously, so that he can free it.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a const value to set the holder to</doc>
+            <doc xml:space="preserve">a const value to set the holder to</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="value_changed" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a boolean set with TRUE if the value changes, FALSE 
elsewhere.</doc>
+            <doc xml:space="preserve">a boolean set with TRUE if the value changes, FALSE elsewhere.</doc>
             <type name="gboolean" c:type="gboolean*"/>
           </parameter>
         </parameters>
@@ -11603,7 +12261,7 @@ of which values @holder can have, or implement some business rules.</doc>
       <method name="take_value"
               c:identifier="gda_holder_take_value"
               throws="1">
-        <doc xml:whitespace="preserve">Sets the value within the holder. If @holder is an alias for another
+        <doc xml:space="preserve">Sets the value within the holder. If @holder is an alias for another
 holder, then the value is also set for that other holder.
 
 On success, the action of any call to gda_holder_force_invalid() is cancelled
@@ -11623,30 +12281,30 @@ Note3: if user previously set this holder with gda_holder_take_static_value () t
 stored internally will be forgiven and replaced by the @value. User should then
 take care of the 'old' static GValue.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if value has been set</doc>
+          <doc xml:space="preserve">TRUE if value has been set</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="full">
-            <doc xml:whitespace="preserve">a value to set the holder to</doc>
+            <doc xml:space="preserve">a value to set the holder to</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
         </parameters>
       </method>
       <method name="value_is_default"
               c:identifier="gda_holder_value_is_default">
-        <doc xml:whitespace="preserve">Tells if @holder's current value is the default one.</doc>
+        <doc xml:space="preserve">Tells if @holder's current value is the default one.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @holder @holder's current value is the default one</doc>
+          <doc xml:space="preserve">TRUE if @holder @holder's current value is the default one</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </instance-parameter>
         </parameters>
@@ -11685,7 +12343,7 @@ take care of the 'old' static GValue.</doc>
                 version="5.2.0"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines if the "validate-change" signal gets emitted when
+        <doc xml:space="preserve">Defines if the "validate-change" signal gets emitted when
 the holder's value changes.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </property>
@@ -11696,43 +12354,44 @@ the holder's value changes.</doc>
         <type name="HolderPrivate" c:type="GdaHolderPrivate*"/>
       </field>
       <glib:signal name="attribute-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when any @holder's attribute has changed</doc>
+        <doc xml:space="preserve">Gets emitted when any @holder's attribute has changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="att_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute's name</doc>
+            <doc xml:space="preserve">attribute's name</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
           <parameter name="att_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute's value</doc>
+            <doc xml:space="preserve">attribute's value</doc>
             <type name="GObject.Value"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when @holder's value has changed</doc>
+        <doc xml:space="preserve">Gets emitted when @holder's value has changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="source-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when the data model in which @holder's values should be 
has changed</doc>
+        <doc xml:space="preserve">Gets emitted when the data model in which @holder's values should be has 
changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="validate-change" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when @holder is going to change its value. One can 
connect to
+        <doc xml:space="preserve">Gets emitted when @holder is going to change its value. One can connect to
 this signal to control which values @holder can have (for example to implement some business rules)</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">NULL if @holder is allowed to change its value to @new_value, or a 
#GError otherwise.</doc>
+          <doc xml:space="preserve">NULL if @holder is allowed to change its value to @new_value, or a 
#GError
+otherwise.</doc>
           <type name="GLib.Error"/>
         </return-value>
         <parameters>
           <parameter name="new_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the proposed new value for @holder</doc>
+            <doc xml:space="preserve">the proposed new value for @holder</doc>
             <type name="GObject.Value"/>
           </parameter>
         </parameters>
@@ -11846,6 +12505,20 @@ this signal to control which values @holder can have (for example to implement s
     </enumeration>
     <record name="HolderPrivate" c:type="GdaHolderPrivate" disguised="1">
     </record>
+    <enumeration name="LdapSearchScope" c:type="GdaLdapSearchScope">
+      <doc xml:space="preserve">Defines the search scope of an LDAP search command, relative to the base 
object.</doc>
+      <member name="base" value="1" c:identifier="GDA_LDAP_SEARCH_BASE">
+        <doc xml:space="preserve">search of the base object only</doc>
+      </member>
+      <member name="onelevel"
+              value="2"
+              c:identifier="GDA_LDAP_SEARCH_ONELEVEL">
+        <doc xml:space="preserve">search of immediate children of the base object, but does not include the 
base object itself</doc>
+      </member>
+      <member name="subtree" value="3" c:identifier="GDA_LDAP_SEARCH_SUBTREE">
+        <doc xml:space="preserve">search of the base object and the entire subtree below the base 
object</doc>
+      </member>
+    </enumeration>
     <interface name="Lockable"
                c:symbol-prefix="lockable"
                c:type="GdaLockable"
@@ -11883,44 +12556,44 @@ this signal to control which values @holder can have (for example to implement s
         </parameters>
       </virtual-method>
       <method name="lock" c:identifier="gda_lockable_lock">
-        <doc xml:whitespace="preserve">Locks @lockable. If it is already locked by another thread, the 
current thread will block until it is unlocked 
+        <doc xml:space="preserve">Locks @lockable. If it is already locked by another thread, the current 
thread will block until it is unlocked
 by the other thread.
 
 This function can be used even if g_thread_init() has not yet been called, and, in that case, will do 
nothing.
 
-Note: unlike g_mutex_lock(), this method recursive, which means a thread can lock @lockable several times 
+Note: unlike g_mutex_lock(), this method recursive, which means a thread can lock @lockable several times
 (and has to unlock it as many times to actually unlock it).</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="lockable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaLockable object.</doc>
+            <doc xml:space="preserve">a #GdaLockable object.</doc>
             <type name="Lockable" c:type="GdaLockable*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="trylock" c:identifier="gda_lockable_trylock">
-        <doc xml:whitespace="preserve">Tries to lock @lockable. If it is already locked by another thread, 
then it immediately returns FALSE, otherwise
+        <doc xml:space="preserve">Tries to lock @lockable. If it is already locked by another thread, then 
it immediately returns FALSE, otherwise
 it locks @lockable.
 
 This function can be used even if g_thread_init() has not yet been called, and, in that case, will do 
nothing.
 
-Note: unlike g_mutex_lock(), this method recursive, which means a thread can lock @lockable several times 
+Note: unlike g_mutex_lock(), this method recursive, which means a thread can lock @lockable several times
 (and has to unlock it as many times to actually unlock it).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the object has successfully been locked.</doc>
+          <doc xml:space="preserve">TRUE if the object has successfully been locked.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="lockable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaLockable object.</doc>
+            <doc xml:space="preserve">a #GdaLockable object.</doc>
             <type name="Lockable" c:type="GdaLockable*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="unlock" c:identifier="gda_lockable_unlock">
-        <doc xml:whitespace="preserve">Unlocks @lockable. This method should not be called if the current 
does not already holds a lock on @lockable (having
+        <doc xml:space="preserve">Unlocks @lockable. This method should not be called if the current does 
not already holds a lock on @lockable (having
 used gda_lockable_lock() or gda_lockable_trylock()).
 
 This function can be used even if g_thread_init() has not yet been called, and, in that case, will do 
nothing.</doc>
@@ -11929,7 +12602,7 @@ This function can be used even if g_thread_init() has not yet been called, and,
         </return-value>
         <parameters>
           <instance-parameter name="lockable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaLockable object.</doc>
+            <doc xml:space="preserve">a #GdaLockable object.</doc>
             <type name="Lockable" c:type="GdaLockable*"/>
           </instance-parameter>
         </parameters>
@@ -11983,11 +12656,11 @@ This function can be used even if g_thread_init() has not yet been called, and,
             glib:type-name="GdaMetaContext"
             glib:get-type="gda_meta_context_get_type"
             c:symbol-prefix="meta_context">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;GdaMetaContext&lt;/structname&gt; represents a 
meta data modification
+      <doc xml:space="preserve">The &lt;structname&gt;GdaMetaContext&lt;/structname&gt; represents a meta 
data modification
 context: the &lt;emphasis&gt;how&lt;/emphasis&gt; when used with gda_meta_store_modify_with_context(),
 and the &lt;emphasis&gt;what&lt;/emphasis&gt; when used with gda_connection_update_meta_store().
 
-To create a new #GdaMetaContext use #gda_meta_context_new. 
+To create a new #GdaMetaContext use #gda_meta_context_new.
 
 To add a new column/value pair use #gda_meta_context_add_column.
 
@@ -11996,18 +12669,28 @@ To free a #GdaMetaContext, created by #gda_meta_context_new, use #gda_attributes
 Since 5.2, you must consider this struct as opaque. Any access to its internal must use public API.
 Don't try to use #gda_meta_context_free on a struct that was created manually.</doc>
       <field name="table_name" writable="1">
+        <doc xml:space="preserve">the name of the table &lt;emphasis&gt;in the GdaMetaStore's internal 
database&lt;/emphasis&gt;</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="size" writable="1">
+        <doc xml:space="preserve">the size of the @column_names and @column_values arrays</doc>
         <type name="gint" c:type="gint"/>
       </field>
       <field name="column_names" writable="1">
-        <type name="utf8" c:type="gchar**"/>
+        <doc xml:space="preserve">an array of column names (columns of the @table_name table)</doc>
+        <array length="1" zero-terminated="0" c:type="gchar**">
+          <type name="utf8" c:type="gchar*"/>
+        </array>
       </field>
       <field name="column_values" writable="1">
-        <type name="GObject.Value" c:type="GValue**"/>
+        <doc xml:space="preserve">an array of values, one for each column named in @column_names</doc>
+        <array length="1" zero-terminated="0" c:type="GValue**">
+          <type name="GObject.Value" c:type="GValue*"/>
+        </array>
       </field>
       <field name="columns" writable="1">
+        <doc xml:space="preserve">A #GHashTable storing columns' name as key and #GValue as column's
+value.</doc>
         <type name="GLib.HashTable" c:type="GHashTable*">
           <type name="utf8"/>
           <type name="GObject.Value"/>
@@ -12016,37 +12699,37 @@ Don't try to use #gda_meta_context_free on a struct that was created manually.</
       <constructor name="new"
                    c:identifier="gda_meta_context_new"
                    version="5.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaMetaContext struct with a #GHashTable to store 
column/value pairs.
-
-Return: (transfer full): a new #GdaMetaContext struct with a new created hash to
-store column name/value pairs.</doc>
+        <doc xml:space="preserve">Creates a new #GdaMetaContext struct with a #GHashTable to store 
column/value pairs.</doc>
         <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new #GdaMetaContext struct with a new created hash to
+store column name/value pairs.</doc>
           <type name="MetaContext" c:type="GdaMetaContext*"/>
         </return-value>
       </constructor>
       <method name="copy" c:identifier="gda_meta_context_copy" version="5.2">
-        <doc xml:whitespace="preserve">Copy constructor.</doc>
+        <doc xml:space="preserve">Copy constructor.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaMetaContext</doc>
+          <doc xml:space="preserve">a new #GdaMetaContext</doc>
           <type name="MetaContext" c:type="GdaMetaContext*"/>
         </return-value>
         <parameters>
           <instance-parameter name="ctx" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaContext</doc>
+            <doc xml:space="preserve">a #GdaMetaContext</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="free" c:identifier="gda_meta_context_free" version="5.2">
-        <doc xml:whitespace="preserve">Frees any resources taken by @ctx struct. If @ctx is %NULL, then 
nothing happens.</doc>
+        <doc xml:space="preserve">Frees any resources taken by @ctx struct. If @ctx is %NULL, then nothing 
happens.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="ctx"
                               transfer-ownership="none"
+                              nullable="1"
                               allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaMetaContext struct to free</doc>
+            <doc xml:space="preserve">a #GdaMetaContext struct to free</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </instance-parameter>
         </parameters>
@@ -12054,15 +12737,14 @@ store column name/value pairs.</doc>
       <method name="get_table"
               c:identifier="gda_meta_context_get_table"
               version="5.2">
-        <doc xml:whitespace="preserve">Get table's name to used in the context.
-
-Return: (transfer none): A string with the table's name used in the context.</doc>
+        <doc xml:space="preserve">Get table's name to used in the context.</doc>
         <return-value transfer-ownership="none">
+          <doc xml:space="preserve">A string with the table's name used in the context.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="ctx" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaContext struct to get table's name from</doc>
+            <doc xml:space="preserve">a #GdaMetaContext struct to get table's name from</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </instance-parameter>
         </parameters>
@@ -12070,7 +12752,7 @@ Return: (transfer none): A string with the table's name used in the context.</do
       <method name="set_column"
               c:identifier="gda_meta_context_set_column"
               version="5.2">
-        <doc xml:whitespace="preserve">Sets a new column/value pair to the given context @ctx. Column, must 
be a column in the given table's
+        <doc xml:space="preserve">Sets a new column/value pair to the given context @ctx. Column, must be a 
column in the given table's
 name setted by #gda_meta_context_set_table () (a table in the &lt;link 
linkend="information_schema"&gt;database
 schema&lt;/link&gt;). If the given @column already exists it's value is overwrited.
 
@@ -12080,19 +12762,22 @@ Column's name and value is copied and destroyed when #gda_meta_context_free is c
         </return-value>
         <parameters>
           <instance-parameter name="ctx" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaContext struct to add column/value pais to</doc>
+            <doc xml:space="preserve">a #GdaMetaContext struct to add column/value pais to</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </instance-parameter>
           <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column's name</doc>
+            <doc xml:space="preserve">the column's name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column's value</doc>
+            <doc xml:space="preserve">the column's value</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection to be used when identifier are normalized, or 
NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection to be used when identifier are normalized, or 
NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -12100,7 +12785,7 @@ Column's name and value is copied and destroyed when #gda_meta_context_free is c
       <method name="set_columns"
               c:identifier="gda_meta_context_set_columns"
               version="5.2">
-        <doc xml:whitespace="preserve">Set columns to use in the context. The #GHashTable use column's name 
as key and a #GValue as value,
+        <doc xml:space="preserve">Set columns to use in the context. The #GHashTable use column's name as 
key and a #GValue as value,
 to represent its value.
 
 @columns incements its reference counting. Is recommended to use #gda_meta_context_free in order to free 
them.</doc>
@@ -12109,18 +12794,22 @@ to represent its value.
         </return-value>
         <parameters>
           <instance-parameter name="ctx" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaContext struct to set colums to</doc>
+            <doc xml:space="preserve">a #GdaMetaContext struct to set colums to</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </instance-parameter>
           <parameter name="columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GHashTable with the table's columns' name and their values to 
use in context.</doc>
+            <doc xml:space="preserve">a #GHashTable with the table's columns' name and their values
+to use in context.</doc>
             <type name="GLib.HashTable" c:type="GHashTable*">
               <type name="utf8"/>
               <type name="GObject.Value"/>
             </type>
           </parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection to used to normalize identifiers quoting, or 
NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection to used to normalize identifiers quoting, or 
NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -12128,7 +12817,7 @@ to represent its value.
       <method name="set_table"
               c:identifier="gda_meta_context_set_table"
               version="5.2">
-        <doc xml:whitespace="preserve">Set table's name to use in the context. The table is one of &lt;link 
linkend="information_schema"&gt;database
+        <doc xml:space="preserve">Set table's name to use in the context. The table is one of &lt;link 
linkend="information_schema"&gt;database
 schema&lt;/link&gt; used to store meta information about the database. Use "_tables" to update meta 
information
 about database's tables.</doc>
         <return-value transfer-ownership="none">
@@ -12136,18 +12825,18 @@ about database's tables.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="ctx" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaContext struct to set table to</doc>
+            <doc xml:space="preserve">a #GdaMetaContext struct to set table to</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </instance-parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string with the table's name to use in context</doc>
+            <doc xml:space="preserve">a string with the table's name to use in context</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
     </record>
     <record name="MetaDbObject" c:type="GdaMetaDbObject">
-      <doc xml:whitespace="preserve">Struture to hold information about each database object (tables, views, 
...),
+      <doc xml:space="preserve">Struture to hold information about each database object (tables, views, ...),
 its contents must not be modified.
 
 Note: @obj_catalog, @obj_schema, @obj_name, @obj_short_name and @obj_full_name respect the
@@ -12164,30 +12853,40 @@ before using in an SQL statement.</doc>
         </field>
       </union>
       <field name="obj_type" writable="1">
+        <doc xml:space="preserve">the type of object (table, view)</doc>
         <type name="MetaDbObjectType" c:type="GdaMetaDbObjectType"/>
       </field>
       <field name="outdated" writable="1">
+        <doc xml:space="preserve">set to %TRUE if the information in this #GdaMetaDbObject may be outdated 
because the #GdaMetaStore has been updated</doc>
         <type name="gboolean" c:type="gboolean"/>
       </field>
       <field name="obj_catalog" writable="1">
+        <doc xml:space="preserve">the catalog the object is in</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="obj_schema" writable="1">
+        <doc xml:space="preserve">the schema the object is in</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="obj_name" writable="1">
+        <doc xml:space="preserve">the object's name</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="obj_short_name" writable="1">
+        <doc xml:space="preserve">the shortest way to name the object</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="obj_full_name" writable="1">
+        <doc xml:space="preserve">the full name of the object (in the 
&amp;lt;schema&amp;gt;.&amp;lt;nameagt; notation</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="obj_owner" writable="1">
+        <doc xml:space="preserve">object's owner</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="depend_list" writable="1">
+        <doc xml:space="preserve">list of #GdaMetaDbObject pointers on which this object depends (through 
foreign keys
+              or tables used for views)</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="MetaDbObject"/>
         </type>
@@ -12206,52 +12905,52 @@ before using in an SQL statement.</doc>
       </field>
     </record>
     <enumeration name="MetaDbObjectType" c:type="GdaMetaDbObjectType">
-      <doc xml:whitespace="preserve">Type of database object which can be handled as a #GdaMetaDbObject</doc>
+      <doc xml:space="preserve">Type of database object which can be handled as a #GdaMetaDbObject</doc>
       <member name="unknown" value="0" c:identifier="GDA_META_DB_UNKNOWN">
-        <doc xml:whitespace="preserve">unknown type</doc>
+        <doc xml:space="preserve">unknown type</doc>
       </member>
       <member name="table" value="1" c:identifier="GDA_META_DB_TABLE">
-        <doc xml:whitespace="preserve">represents a table</doc>
+        <doc xml:space="preserve">represents a table</doc>
       </member>
       <member name="view" value="2" c:identifier="GDA_META_DB_VIEW">
-        <doc xml:whitespace="preserve">represents a view</doc>
+        <doc xml:space="preserve">represents a view</doc>
       </member>
     </enumeration>
     <enumeration name="MetaForeignKeyPolicy" c:type="GdaMetaForeignKeyPolicy">
-      <doc xml:whitespace="preserve">Defines the filtering policy of a foreign key when invoked on an UPDATE
+      <doc xml:space="preserve">Defines the filtering policy of a foreign key when invoked on an UPDATE
 or DELETE operation.</doc>
       <member name="unknown"
               value="0"
               c:identifier="GDA_META_FOREIGN_KEY_UNKNOWN">
-        <doc xml:whitespace="preserve">unspecified policy</doc>
+        <doc xml:space="preserve">unspecified policy</doc>
       </member>
       <member name="none" value="1" c:identifier="GDA_META_FOREIGN_KEY_NONE">
-        <doc xml:whitespace="preserve">not enforced policy</doc>
+        <doc xml:space="preserve">not enforced policy</doc>
       </member>
       <member name="no_action"
               value="2"
               c:identifier="GDA_META_FOREIGN_KEY_NO_ACTION">
-        <doc xml:whitespace="preserve">return an error, no action taken</doc>
+        <doc xml:space="preserve">return an error, no action taken</doc>
       </member>
       <member name="restrict"
               value="3"
               c:identifier="GDA_META_FOREIGN_KEY_RESTRICT">
-        <doc xml:whitespace="preserve">same as @GDA_META_FOREIGN_KEY_NO_ACTION, not deferrable</doc>
+        <doc xml:space="preserve">same as @GDA_META_FOREIGN_KEY_NO_ACTION, not deferrable</doc>
       </member>
       <member name="cascade"
               value="4"
               c:identifier="GDA_META_FOREIGN_KEY_CASCADE">
-        <doc xml:whitespace="preserve">policy is to delete any rows referencing the deleted row, or update 
the value of the referencing column to the new value of the referenced column, respectively</doc>
+        <doc xml:space="preserve">policy is to delete any rows referencing the deleted row, or update the 
value of the referencing column to the new value of the referenced column, respectively</doc>
       </member>
       <member name="set_null"
               value="5"
               c:identifier="GDA_META_FOREIGN_KEY_SET_NULL">
-        <doc xml:whitespace="preserve">policy is to set the referencing column to NULL</doc>
+        <doc xml:space="preserve">policy is to set the referencing column to NULL</doc>
       </member>
       <member name="set_default"
               value="6"
               c:identifier="GDA_META_FOREIGN_KEY_SET_DEFAULT">
-        <doc xml:whitespace="preserve">policy is to set the referencing column to its default value</doc>
+        <doc xml:space="preserve">policy is to set the referencing column to its default value</doc>
       </member>
     </enumeration>
     <bitfield name="MetaGraphInfo" c:type="GdaMetaGraphInfo">
@@ -12261,16 +12960,16 @@ or DELETE operation.</doc>
       </member>
     </bitfield>
     <enumeration name="MetaSortType" c:type="GdaMetaSortType">
-      <doc xml:whitespace="preserve">Types of sorting</doc>
+      <doc xml:space="preserve">Types of sorting</doc>
       <member name="alhapetical"
               value="0"
               c:identifier="GDA_META_SORT_ALHAPETICAL">
-        <doc xml:whitespace="preserve">sort alphabetically</doc>
+        <doc xml:space="preserve">sort alphabetically</doc>
       </member>
       <member name="dependencies"
               value="1"
               c:identifier="GDA_META_SORT_DEPENDENCIES">
-        <doc xml:whitespace="preserve">sort by dependencies</doc>
+        <doc xml:space="preserve">sort by dependencies</doc>
       </member>
     </enumeration>
     <class name="MetaStore"
@@ -12281,31 +12980,32 @@ or DELETE operation.</doc>
            glib:get-type="gda_meta_store_get_type"
            glib:type-struct="MetaStoreClass">
       <constructor name="new" c:identifier="gda_meta_store_new">
-        <doc xml:whitespace="preserve">Create a new #GdaMetaStore object.</doc>
+        <doc xml:space="preserve">Create a new #GdaMetaStore object.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the newly created object, or %NULL if an error occurred</doc>
           <type name="MetaStore" c:type="GdaMetaStore*"/>
         </return-value>
         <parameters>
           <parameter name="cnc_string"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a connection string, or %NULL for an in-memory internal 
database</doc>
+            <doc xml:space="preserve">a connection string, or %NULL for an in-memory internal database</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </constructor>
       <constructor name="new_with_file"
                    c:identifier="gda_meta_store_new_with_file">
-        <doc xml:whitespace="preserve">Create a new #GdaMetaStore object using @file_name as its internal
+        <doc xml:space="preserve">Create a new #GdaMetaStore object using @file_name as its internal
 database</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">the newly created object, or %NULL if an error occurred</doc>
           <type name="MetaStore" c:type="GdaMetaStore*"/>
         </return-value>
         <parameters>
           <parameter name="file_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a file name</doc>
+            <doc xml:space="preserve">a file name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -12318,23 +13018,23 @@ database</doc>
       <function name="sql_identifier_quote"
                 c:identifier="gda_meta_store_sql_identifier_quote"
                 version="4.0.3">
-        <doc xml:whitespace="preserve">Use this method to get a correctly quoted (if necessary) SQL 
identifier which can be used
+        <doc xml:space="preserve">Use this method to get a correctly quoted (if necessary) SQL identifier 
which can be used
 to retrieve or filter information in a #GdaMetaStore which stores meta data about @cnc.
 
 The returned SQL identifier can be used in conjunction with gda_connection_update_meta_store(),
 gda_connection_get_meta_store_data(), gda_connection_get_meta_store_data_v() and
 gda_meta_store_extract().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, to free with g_free() once not needed anymore</doc>
+          <doc xml:space="preserve">a new string, to free with g_free() once not needed anymore</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an SQL identifier</doc>
+            <doc xml:space="preserve">an SQL identifier</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -12379,21 +13079,21 @@ gda_meta_store_extract().</doc>
       </virtual-method>
       <method name="create_modify_data_model"
               c:identifier="gda_meta_store_create_modify_data_model">
-        <doc xml:whitespace="preserve">Creates a new #GdaDataModelArray data model which can be used, after 
being correctly filled,
+        <doc xml:space="preserve">Creates a new #GdaDataModelArray data model which can be used, after being 
correctly filled,
 with the gda_meta_store_modify*() methods.*
 
 To be used by provider's implementation</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+          <doc xml:space="preserve">a new #GdaDataModel</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a table present in @store</doc>
+            <doc xml:space="preserve">the name of a table present in @store</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -12402,7 +13102,7 @@ To be used by provider's implementation</doc>
               c:identifier="gda_meta_store_declare_foreign_key"
               version="4.2.4"
               throws="1">
-        <doc xml:whitespace="preserve">Defines a new declared foreign key into @store. If another declared 
foreign key is already defined
+        <doc xml:space="preserve">Defines a new declared foreign key into @store. If another declared 
foreign key is already defined
 between the two tables and with the same name, then it is first removed.
 
 This method begins a transaction if possible (ie. none is already started), and if it can't,
@@ -12420,62 +13120,73 @@ section. The same convention needs to be respected for the strings in @conames a
 If @catalog is not %NULL, then @schema must also be not %NULL (the same restriction applies to
 @ref_catalog and @ref_schema).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore</doc>
+            <doc xml:space="preserve">a #GdaMetaStore</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
-          <parameter name="mstruct" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct, or %NULL</doc>
+          <parameter name="mstruct"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaMetaStruct, or %NULL</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </parameter>
           <parameter name="fk_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the foreign key to declare</doc>
+            <doc xml:space="preserve">the name of the foreign key to declare</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="catalog" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the catalog in which the table (for which the foreign key is for) 
is, or %NULL</doc>
+          <parameter name="catalog"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the catalog in which the table (for which the foreign key is for) is, 
or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="schema" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the schema in which the table (for which the foreign key is for) 
is, or %NULL</doc>
+          <parameter name="schema"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the schema in which the table (for which the foreign key is for) is, 
or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the table (for which the foreign key is for)</doc>
+            <doc xml:space="preserve">the name of the table (for which the foreign key is for)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="ref_catalog"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">the catalog in which the referenced table is, or %NULL</doc>
+            <doc xml:space="preserve">the catalog in which the referenced table is, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="ref_schema"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">the schema in which the referenced table is, or %NULL</doc>
+            <doc xml:space="preserve">the schema in which the referenced table is, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="ref_table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the referenced table</doc>
+            <doc xml:space="preserve">the name of the referenced table</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="nb_cols" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns involved (&gt;0)</doc>
+            <doc xml:space="preserve">the number of columns involved (&gt;0)</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
           <parameter name="colnames" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of column names from the table for which the foreign key 
is for</doc>
+            <doc xml:space="preserve">an array of column names from the table for which the foreign key is 
for</doc>
             <array length="8" zero-terminated="0" c:type="gchar**">
               <type name="utf8" c:type="gchar*"/>
             </array>
           </parameter>
           <parameter name="ref_colnames" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of column names from the referenced table</doc>
+            <doc xml:space="preserve">an array of column names from the referenced table</doc>
             <array length="8" zero-terminated="0" c:type="gchar**">
               <type name="utf8" c:type="gchar*"/>
             </array>
@@ -12486,7 +13197,7 @@ If @catalog is not %NULL, then @schema must also be not %NULL (the same restrict
               c:identifier="gda_meta_store_extract"
               shadowed-by="extract_v"
               introspectable="0">
-        <doc xml:whitespace="preserve">Extracts some data stored in @store using a custom SELECT query. If 
the @select_sql filter involves
+        <doc xml:space="preserve">Extracts some data stored in @store using a custom SELECT query. If the 
@select_sql filter involves
 SQL identifiers (such as table or column names), then the values should have been adapted using
 gda_meta_store_sql_identifier_quote().
 
@@ -12494,25 +13205,29 @@ For more information about
 SQL identifiers are represented in @store, see the
 &lt;link linkend="information_schema:sql_identifiers"&gt;meta data section about SQL 
identifiers&lt;/link&gt;.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaDataModel, or %NULL if an error occurred</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="select_sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a SELECT statement</doc>
+            <doc xml:space="preserve">a SELECT statement</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="error" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+          <parameter name="error"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a place to store errors, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
-          <parameter name="arg3" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a list of (variable name (gchar *), GValue *value) terminated with 
NULL, representing values for all the
+variables mentioned in @select_sql. If there is no variable then this part can be omitted.</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -12521,7 +13236,7 @@ SQL identifiers are represented in @store, see the
               shadows="extract"
               version="4.2.6"
               throws="1">
-        <doc xml:whitespace="preserve">Extracts some data stored in @store using a custom SELECT query. If 
the @select_sql filter involves
+        <doc xml:space="preserve">Extracts some data stored in @store using a custom SELECT query. If the 
@select_sql filter involves
 SQL identifiers (such as table or column names), then the values should have been adapted using
 gda_meta_store_sql_identifier_quote().
 
@@ -12529,20 +13244,25 @@ For more information about
 SQL identifiers are represented in @store, see the
 &lt;link linkend="information_schema:sql_identifiers"&gt;meta data section about SQL 
identifiers&lt;/link&gt;.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaDataModel, or %NULL if an error occurred</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="select_sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a SELECT statement</doc>
+            <doc xml:space="preserve">a SELECT statement</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="vars" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a hash table with all variables names as keys and GValue* as 
value, representing values for all the variables mentioned in @select_sql. If there is no variable then this 
part can be omitted.</doc>
+          <parameter name="vars"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a hash table with all variables names as keys and GValue* as
+value, representing values for all the variables mentioned in @select_sql. If there is no variable then this 
part can be
+omitted.</doc>
             <type name="GLib.HashTable" c:type="GHashTable*">
               <type name="utf8"/>
               <type name="GObject.Value"/>
@@ -12553,7 +13273,7 @@ SQL identifiers are represented in @store, see the
       <method name="get_attribute_value"
               c:identifier="gda_meta_store_get_attribute_value"
               throws="1">
-        <doc xml:whitespace="preserve">The #GdaMetaStore object maintains a list of (name,value) attributes 
(attributes names starting with a '_'
+        <doc xml:space="preserve">The #GdaMetaStore object maintains a list of (name,value) attributes 
(attributes names starting with a '_'
 character are for internal use only and cannot be altered). This method and the 
gda_meta_store_set_attribute_value()
 method allows the user to add, set or remove attributes specific to their usage.
 
@@ -12563,55 +13283,55 @@ placed at @att_value, the caller is responsible for free that string.
 If there is no attribute named @att_name then @att_value is set to %NULL
 and @error will contain the GDA_META_STORE_ATTRIBUTE_NOT_FOUND_ERROR error code, and FALSE is returned.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="att_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the attribute to get</doc>
+            <doc xml:space="preserve">name of the attribute to get</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="att_value"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full">
-            <doc xml:whitespace="preserve">the place to store the attribute value</doc>
+            <doc xml:space="preserve">the place to store the attribute value</doc>
             <type name="utf8" c:type="gchar**"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_internal_connection"
               c:identifier="gda_meta_store_get_internal_connection">
-        <doc xml:whitespace="preserve">Get a pointer to the #GdaConnection object internally used by @store 
to store
+        <doc xml:space="preserve">Get a pointer to the #GdaConnection object internally used by @store to 
store
 its contents.
 
 The returned connection can be used to access some other data than the one managed by @store
 itself. The returned object is not owned by the caller (if you need to keep it, then use g_object_ref()).
 Do not close the connection.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+          <doc xml:space="preserve">a #GdaConnection, or %NULL</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_version" c:identifier="gda_meta_store_get_version">
-        <doc xml:whitespace="preserve">Get @store's internal schema's version</doc>
+        <doc xml:space="preserve">Get @store's internal schema's version</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the version (incremented each time the schema changes, backward 
compatible)</doc>
+          <doc xml:space="preserve">the version (incremented each time the schema changes, backward 
compatible)</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
         </parameters>
@@ -12620,7 +13340,7 @@ Do not close the connection.</doc>
               c:identifier="gda_meta_store_modify"
               shadowed-by="modify_v"
               introspectable="0">
-        <doc xml:whitespace="preserve">Propagates an update to @store, the update's contents is represented 
by @new_data, this function is
+        <doc xml:space="preserve">Propagates an update to @store, the update's contents is represented by 
@new_data, this function is
 primarily reserved to database providers.
 
 For example tell @store to update its list of tables, @new_data should contain the same columns as the 
"_tables"
@@ -12631,33 +13351,44 @@ Now, to update only one table, the @new_data data model should have one row for
 at all if the table does not exist anymore), and have values for the primary key of the "_tables" table of
 @store, namely "table_catalog", "table_schema" and "table_name".</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the table to modify within @store</doc>
+            <doc xml:space="preserve">the name of the table to modify within @store</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="new_data" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaDataModel containing the new data to set in @table_name, or 
%NULL (treated as a data model with no row at all)</doc>
+          <parameter name="new_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaDataModel containing the new data to set in @table_name, or 
%NULL (treated as a data model
+with no row at all)</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
-          <parameter name="condition" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">SQL expression (which may contain variables) defining the rows 
which are being obsoleted by @new_data, or %NULL</doc>
+          <parameter name="condition"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">SQL expression (which may contain variables) defining the rows which 
are being obsoleted by @new_data, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="error" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+          <parameter name="error"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a place to store errors, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
-          <parameter name="arg5" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a list of (variable name (gchar *), GValue *value) terminated with 
NULL, representing values for all the
+variables mentioned in @condition.</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -12666,41 +13397,48 @@ at all if the table does not exist anymore), and have values for the primary key
               shadows="modify"
               version="4.2.6"
               throws="1">
-        <doc xml:whitespace="preserve">Propagates an update to @store, the update's contents is represented 
by @new_data, this function is
+        <doc xml:space="preserve">Propagates an update to @store, the update's contents is represented by 
@new_data, this function is
 primarily reserved to database providers.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the table to modify within @store</doc>
+            <doc xml:space="preserve">the name of the table to modify within @store</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="new_data" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaDataModel containing the new data to set in @table_name, or 
%NULL (treated as a data model with no row at all)</doc>
+          <parameter name="new_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaDataModel containing the new data to set in @table_name, or 
%NULL (treated as a data model
+with no row at all)</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
-          <parameter name="condition" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">SQL expression (which may contain variables) defining the rows 
which are being obsoleted by @new_data, or %NULL</doc>
+          <parameter name="condition"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">SQL expression (which may contain variables) defining the rows which 
are being obsoleted by @new_data, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="nvalues" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of values in @value_names and @values</doc>
+            <doc xml:space="preserve">number of values in @value_names and @values</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
           <parameter name="value_names" transfer-ownership="none">
-            <doc xml:whitespace="preserve">names of values</doc>
+            <doc xml:space="preserve">names of values</doc>
             <array length="3" zero-terminated="0" c:type="gchar**">
               <type name="utf8" c:type="gchar*"/>
             </array>
           </parameter>
           <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">values</doc>
+            <doc xml:space="preserve">values</doc>
             <array length="3" zero-terminated="0" c:type="GValue**">
               <type name="GObject.Value" c:type="GValue*"/>
             </array>
@@ -12710,23 +13448,27 @@ primarily reserved to database providers.</doc>
       <method name="modify_with_context"
               c:identifier="gda_meta_store_modify_with_context"
               throws="1">
-        <doc xml:whitespace="preserve">Propagates an update to @store, the update's contents is represented 
by @new_data, this function is
+        <doc xml:space="preserve">Propagates an update to @store, the update's contents is represented by 
@new_data, this function is
 primarily reserved to database providers.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="context" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaContext context describing what to modify in 
@store</doc>
+            <doc xml:space="preserve">a #GdaMetaContext context describing what to modify in @store</doc>
             <type name="MetaContext" c:type="GdaMetaContext*"/>
           </parameter>
-          <parameter name="new_data" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaDataModel containing the new data to set in @table_name, or 
%NULL (treated as a data model with no row at all)</doc>
+          <parameter name="new_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaDataModel containing the new data to set in @table_name, or 
%NULL (treated as a data model
+with no row at all)</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -12734,7 +13476,7 @@ primarily reserved to database providers.</doc>
       <method name="schema_add_custom_object"
               c:identifier="gda_meta_store_schema_add_custom_object"
               throws="1">
-        <doc xml:whitespace="preserve">The internal database used by @store can be 'augmented' with some 
user-defined database objects
+        <doc xml:space="preserve">The internal database used by @store can be 'augmented' with some 
user-defined database objects
 (such as tables or views). This method allows one to add a new database object.
 
 If the internal database already contains the object, then:
@@ -12775,7 +13517,7 @@ a &amp;lt;table&amp;gt; or a &amp;lt;view&amp;gt;):
           column NMTOKEN #IMPLIED
           ref_column NMTOKEN #IMPLIED&gt;
 
-&lt;!ELEMENT unique (column*)&gt;
+)&gt;
 
 &lt;!ELEMENT view (definition)&gt;
 &lt;!ATTLIST view
@@ -12784,57 +13526,57 @@ a &amp;lt;table&amp;gt; or a &amp;lt;view&amp;gt;):
 
 &lt;!ELEMENT definition (#PCDATA)&gt;]]&gt;&lt;/programlisting&gt;</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the new object has successfully been added</doc>
+          <doc xml:space="preserve">TRUE if the new object has successfully been added</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="xml_description" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an XML description of the table or view to add to @store</doc>
+            <doc xml:space="preserve">an XML description of the table or view to add to @store</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="schema_get_all_tables"
               c:identifier="gda_meta_store_schema_get_all_tables">
-        <doc xml:whitespace="preserve">Get an ordered list of the tables @store knows about. The tables are 
ordered in a way that tables dependencies
+        <doc xml:space="preserve">Get an ordered list of the tables @store knows about. The tables are 
ordered in a way that tables dependencies
 are respected: if table B has a foreign key on table A, then table A will be listed before table B in the 
returned
 list.</doc>
         <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a new list of tables names (as gchar*), the list must be freed when 
no longer needed, but the strings present in the list must not be modified.</doc>
+          <doc xml:space="preserve">a new list of tables names (as gchar*), the list must be freed when no 
longer needed, but the strings present in the list must not be modified.</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="utf8"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="schema_get_depend_tables"
               c:identifier="gda_meta_store_schema_get_depend_tables">
-        <doc xml:whitespace="preserve">Get an ordered list of the tables @store knows about on which the 
@table_name table depends (recursively).
+        <doc xml:space="preserve">Get an ordered list of the tables @store knows about on which the 
@table_name table depends (recursively).
 The tables are ordered in a way that tables dependencies
 are respected: if table B has a foreign key on table A, then table A will be listed before table B in the 
returned
 list.</doc>
         <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a new list of tables names (as gchar*), the list must be freed when 
no longer needed, but the strings present in the list must not be modified.</doc>
+          <doc xml:space="preserve">a new list of tables names (as gchar*), the list must be freed when no 
longer needed, but the strings present in the list must not be modified.</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="utf8"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the table for which all the dependencies must be 
listed</doc>
+            <doc xml:space="preserve">the name of the table for which all the dependencies must be 
listed</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -12842,14 +13584,14 @@ list.</doc>
       <method name="schema_get_structure"
               c:identifier="gda_meta_store_schema_get_structure"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaMetaStruct object representing @store's internal 
database structure.</doc>
+        <doc xml:space="preserve">Creates a new #GdaMetaStruct object representing @store's internal 
database structure.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaMetaStruct object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaMetaStruct object, or %NULL if an error occurred</doc>
           <type name="MetaStruct" c:type="GdaMetaStruct*"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
         </parameters>
@@ -12857,18 +13599,18 @@ list.</doc>
       <method name="schema_remove_custom_object"
               c:identifier="gda_meta_store_schema_remove_custom_object"
               throws="1">
-        <doc xml:whitespace="preserve">Removes the custom database object named @obj_name.</doc>
+        <doc xml:space="preserve">Removes the custom database object named @obj_name.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the custom object has successfully been removed</doc>
+          <doc xml:space="preserve">TRUE if the custom object has successfully been removed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="obj_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the custom object to remove</doc>
+            <doc xml:space="preserve">name of the custom object to remove</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -12876,23 +13618,26 @@ list.</doc>
       <method name="set_attribute_value"
               c:identifier="gda_meta_store_set_attribute_value"
               throws="1">
-        <doc xml:whitespace="preserve">Set the value of the attribute named @att_name to @att_value; see 
gda_meta_store_get_attribute_value() for
+        <doc xml:space="preserve">Set the value of the attribute named @att_name to @att_value; see 
gda_meta_store_get_attribute_value() for
 more information.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="att_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the attribute to set</doc>
+            <doc xml:space="preserve">name of the attribute to set</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="att_value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">value of the attribute to set, or %NULL to unset the 
attribute</doc>
+          <parameter name="att_value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">value of the attribute to set, or %NULL to unset the attribute</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -12900,18 +13645,18 @@ more information.</doc>
       <method name="set_identifiers_style"
               c:identifier="gda_meta_store_set_identifiers_style"
               version="4.2">
-        <doc xml:whitespace="preserve">Specifies how @store must handle SQL identifiers it has to store. 
This method is mainly used by
+        <doc xml:space="preserve">Specifies how @store must handle SQL identifiers it has to store. This 
method is mainly used by
 database providers.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="style" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a style</doc>
+            <doc xml:space="preserve">a style</doc>
             <type name="SqlIdentifierStyle" c:type="GdaSqlIdentifierStyle"/>
           </parameter>
         </parameters>
@@ -12919,7 +13664,7 @@ database providers.</doc>
       <method name="set_reserved_keywords_func"
               c:identifier="gda_meta_store_set_reserved_keywords_func"
               version="4.2">
-        <doc xml:whitespace="preserve">Specifies a function which @store will use to determine if a keyword 
is an SQL reserved
+        <doc xml:space="preserve">Specifies a function which @store will use to determine if a keyword is an 
SQL reserved
 keyword or not.
 
 This method is mainly used by database providers.</doc>
@@ -12928,14 +13673,15 @@ This method is mainly used by database providers.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+            <doc xml:space="preserve">a #GdaMetaStore object</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
           <parameter name="func"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1"
                      scope="call">
-            <doc xml:whitespace="preserve">a #GdaSqlReservedKeywordsFunc function, or %NULL</doc>
+            <doc xml:space="preserve">a #GdaSqlReservedKeywordsFunc function, or %NULL</doc>
             <type name="SqlReservedKeywordsFunc"
                   c:type="GdaSqlReservedKeywordsFunc"/>
           </parameter>
@@ -12945,7 +13691,7 @@ This method is mainly used by database providers.</doc>
               c:identifier="gda_meta_store_undeclare_foreign_key"
               version="4.2.4"
               throws="1">
-        <doc xml:whitespace="preserve">Removes a declared foreign key from @store.
+        <doc xml:space="preserve">Removes a declared foreign key from @store.
 
 This method begins a transaction if possible (ie. none is already started), and if it can't, then if there
 is an error, the job may be partially done.
@@ -12958,48 +13704,59 @@ will not be modified), and using an internal #GdaMetaStruct is %NULL.
 See gda_meta_store_declare_foreign_key() for more information anout the @catalog, @schema, @name,
 @ref_catalog, @ref_schema and @ref_name arguments.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore</doc>
+            <doc xml:space="preserve">a #GdaMetaStore</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </instance-parameter>
-          <parameter name="mstruct" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct, or %NULL</doc>
+          <parameter name="mstruct"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaMetaStruct, or %NULL</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </parameter>
           <parameter name="fk_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the foreign key to declare</doc>
+            <doc xml:space="preserve">the name of the foreign key to declare</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="catalog" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the catalog in which the table (for which the foreign key is for) 
is, or %NULL</doc>
+          <parameter name="catalog"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the catalog in which the table (for which the foreign key is for) is, 
or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="schema" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the schema in which the table (for which the foreign key is for) 
is, or %NULL</doc>
+          <parameter name="schema"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the schema in which the table (for which the foreign key is for) is, 
or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the table (for which the foreign key is for)</doc>
+            <doc xml:space="preserve">the name of the table (for which the foreign key is for)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="ref_catalog"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">the catalog in which the referenced table is, or %NULL</doc>
+            <doc xml:space="preserve">the catalog in which the referenced table is, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="ref_schema"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">the schema in which the referenced table is, or %NULL</doc>
+            <doc xml:space="preserve">the schema in which the referenced table is, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="ref_table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the referenced table</doc>
+            <doc xml:space="preserve">the name of the referenced table</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -13038,13 +13795,13 @@ See gda_meta_store_declare_foreign_key() for more information anout the @catalog
         <type name="MetaStorePrivate" c:type="GdaMetaStorePrivate*"/>
       </field>
       <glib:signal name="meta-changed" when="first">
-        <doc xml:whitespace="preserve">This signal is emitted when the @store's contents have changed (the 
changes are in the @changes list)</doc>
+        <doc xml:space="preserve">This signal is emitted when the @store's contents have changed (the 
changes are in the @changes list)</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="changes" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of changes made, as a #GSList of pointers to 
#GdaMetaStoreChange (which must not be modified)</doc>
+            <doc xml:space="preserve">a list of changes made, as a #GSList of pointers to 
#GdaMetaStoreChange (which must not be modified)</doc>
             <type name="GLib.SList" c:type="gpointer">
               <type name="MetaStoreChange"/>
             </type>
@@ -13052,23 +13809,24 @@ See gda_meta_store_declare_foreign_key() for more information anout the @catalog
         </parameters>
       </glib:signal>
       <glib:signal name="meta-reset" when="first">
-        <doc xml:whitespace="preserve">This signal is emitted when the @store's contents have been reset 
completely and when
+        <doc xml:space="preserve">This signal is emitted when the @store's contents have been reset 
completely and when
 no detailed changes are available</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="suggest-update" when="last">
-        <doc xml:whitespace="preserve">This signal is emitted when the contents of a table should be updated 
(data to update or insert only;
+        <doc xml:space="preserve">This signal is emitted when the contents of a table should be updated 
(data to update or insert only;
 deleting data is done automatically). This signal is used for internal purposes by the #GdaConnection
 object.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GError error structure if there was an error when processing 
the signal, or %NULL if signal propagation should continue</doc>
+          <doc xml:space="preserve">a new #GError error structure if there was an error when processing the
+signal, or %NULL if signal propagation should continue</doc>
           <type name="GLib.Error"/>
         </return-value>
         <parameters>
           <parameter name="suggest" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the suggested update, as a #GdaMetaContext structure</doc>
+            <doc xml:space="preserve">the suggested update, as a #GdaMetaContext structure</doc>
             <type name="MetaContext" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -13242,20 +14000,20 @@ object.</doc>
            glib:get-type="gda_meta_struct_get_type"
            glib:type-struct="MetaStructClass">
       <constructor name="new" c:identifier="gda_meta_struct_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaMetaStruct object. The @features specifies the 
extra features which will also be computed:
+        <doc xml:space="preserve">Creates a new #GdaMetaStruct object. The @features specifies the extra 
features which will also be computed:
 the more features, the more time it takes to run. Features such as table's columns, each column's 
attributes, etc
 are not optional and will always be computed.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #GdaMetaStruct object</doc>
+          <doc xml:space="preserve">the newly created #GdaMetaStruct object</doc>
           <type name="MetaStruct" c:type="GdaMetaStruct*"/>
         </return-value>
         <parameters>
           <parameter name="store" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStore from which the new #GdaMetaStruct object will 
fetch information</doc>
+            <doc xml:space="preserve">a #GdaMetaStore from which the new #GdaMetaStruct object will fetch 
information</doc>
             <type name="MetaStore" c:type="GdaMetaStore*"/>
           </parameter>
           <parameter name="features" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the kind of extra information the new #GdaMetaStruct object will 
compute</doc>
+            <doc xml:space="preserve">the kind of extra information the new #GdaMetaStruct object will 
compute</doc>
             <type name="MetaStructFeature" c:type="GdaMetaStructFeature"/>
           </parameter>
         </parameters>
@@ -13268,7 +14026,7 @@ are not optional and will always be computed.</doc>
       <method name="complement"
               c:identifier="gda_meta_struct_complement"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaMetaDbObject structure in @mstruct to represent the 
database object (of type @type)
+        <doc xml:space="preserve">Creates a new #GdaMetaDbObject structure in @mstruct to represent the 
database object (of type @type)
 which can be uniquely identified as @catalog  schema @name.
 
 If @catalog is not %NULL, then @schema should not be %NULL.
@@ -13276,7 +14034,7 @@ If @catalog is not %NULL, then @schema should not be %NULL.
 If both @catalog and @schema are %NULL, then the database object will be the one which is
 "visible" by default (that is which can be accessed only by its short @name name).
 
-If @catalog is %NULL and @schema is not %NULL, then the database object will be the one which 
+If @catalog is %NULL and @schema is not %NULL, then the database object will be the one which
 can be accessed by its @schema  name name.
 
 Important note: @catalog, @schema and @name will be used using the following convention:
@@ -13288,28 +14046,34 @@ Important note: @catalog, @schema and @name will be used using the following con
 For more information, see the &lt;link linkend="information_schema:sql_identifiers"&gt;
 meta data section about SQL identifiers&lt;/link&gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaMetaDbObject corresponding to the database object if no 
error occurred, or %NULL</doc>
+          <doc xml:space="preserve">the #GdaMetaDbObject corresponding to the database object if no error 
occurred, or %NULL</doc>
           <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of object to add (which can be GDA_META_DB_UNKNOWN)</doc>
+            <doc xml:space="preserve">the type of object to add (which can be GDA_META_DB_UNKNOWN)</doc>
             <type name="MetaDbObjectType" c:type="GdaMetaDbObjectType"/>
           </parameter>
-          <parameter name="catalog" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the catalog the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
+          <parameter name="catalog"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the catalog the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="schema" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the schema the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
+          <parameter name="schema"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the schema the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the object's name (as a G_TYPE_STRING GValue), not %NULL</doc>
+            <doc xml:space="preserve">the object's name (as a G_TYPE_STRING GValue), not %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -13317,17 +14081,17 @@ meta data section about SQL identifiers&lt;/link&gt;.</doc>
       <method name="complement_all"
               c:identifier="gda_meta_struct_complement_all"
               throws="1">
-        <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() and 
gda_meta_struct_complement_default()
+        <doc xml:space="preserve">This method is similar to gda_meta_struct_complement() and 
gda_meta_struct_complement_default()
 but creates #GdaMetaDbObject for all the database object.
 
 Please refer to gda_meta_struct_complement() form more information.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
         </parameters>
@@ -13335,19 +14099,19 @@ Please refer to gda_meta_struct_complement() form more information.</doc>
       <method name="complement_default"
               c:identifier="gda_meta_struct_complement_default"
               throws="1">
-        <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() and 
gda_meta_struct_complement_all()
+        <doc xml:space="preserve">This method is similar to gda_meta_struct_complement() and 
gda_meta_struct_complement_all()
 but creates #GdaMetaDbObject for all the
-database object which are usable using only their short name (that is which do not need to be prefixed by 
+database object which are usable using only their short name (that is which do not need to be prefixed by
 the schema in which they are to be used).
 
 Please refer to gda_meta_struct_complement() form more information.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
         </parameters>
@@ -13355,21 +14119,21 @@ Please refer to gda_meta_struct_complement() form more information.</doc>
       <method name="complement_depend"
               c:identifier="gda_meta_struct_complement_depend"
               throws="1">
-        <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() but creates 
#GdaMetaDbObject for all the dependencies
+        <doc xml:space="preserve">This method is similar to gda_meta_struct_complement() but creates 
#GdaMetaDbObject for all the dependencies
 of @dbo.
 
 Please refer to gda_meta_struct_complement() form more information.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
           <parameter name="dbo" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaDbObject part of @mstruct</doc>
+            <doc xml:space="preserve">a #GdaMetaDbObject part of @mstruct</doc>
             <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
           </parameter>
         </parameters>
@@ -13377,27 +14141,33 @@ Please refer to gda_meta_struct_complement() form more information.</doc>
       <method name="complement_schema"
               c:identifier="gda_meta_struct_complement_schema"
               throws="1">
-        <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() but creates 
#GdaMetaDbObject for all the
+        <doc xml:space="preserve">This method is similar to gda_meta_struct_complement() but creates 
#GdaMetaDbObject for all the
 database object which are in the @schema schema (and in the @catalog catalog).
 If @catalog is %NULL, then any catalog will be used, and
 if @schema is %NULL then any schema will be used (if @schema is %NULL then catalog must also be %NULL).
 
 Please refer to gda_meta_struct_complement() form more information.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
-          <parameter name="catalog" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">name of a catalog, or %NULL</doc>
+          <parameter name="catalog"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">name of a catalog, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="schema" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">name of a schema, or %NULL</doc>
+          <parameter name="schema"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">name of a schema, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -13405,65 +14175,73 @@ Please refer to gda_meta_struct_complement() form more information.</doc>
       <method name="dump_as_graph"
               c:identifier="gda_meta_struct_dump_as_graph"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new graph (in the GraphViz syntax) representation of 
@mstruct.</doc>
+        <doc xml:space="preserve">Creates a new graph (in the GraphViz syntax) representation of 
@mstruct.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred.</doc>
+          <doc xml:space="preserve">a new string, or %NULL if an error occurred.</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
           <parameter name="info" transfer-ownership="none">
-            <doc xml:whitespace="preserve">informs what kind of information to show in the resulting 
graph</doc>
+            <doc xml:space="preserve">informs what kind of information to show in the resulting graph</doc>
             <type name="MetaGraphInfo" c:type="GdaMetaGraphInfo"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_all_db_objects"
               c:identifier="gda_meta_struct_get_all_db_objects">
-        <doc xml:whitespace="preserve">Get a list of all the #GdaMetaDbObject structures representing 
database objects in @mstruct. Note that
+        <doc xml:space="preserve">Get a list of all the #GdaMetaDbObject structures representing database 
objects in @mstruct. Note that
 no #GdaMetaDbObject structure must not be modified.</doc>
         <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a new #GSList list of pointers to #GdaMetaDbObject structures which 
must be destroyed after usage using g_slist_free(). The individual #GdaMetaDbObject must not be 
modified.</doc>
+          <doc xml:space="preserve">a new #GSList list of pointers to
+#GdaMetaDbObject structures which must be destroyed after usage using g_slist_free(). The individual
+#GdaMetaDbObject must not be modified.</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="MetaDbObject"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_db_object"
               c:identifier="gda_meta_struct_get_db_object">
-        <doc xml:whitespace="preserve">Tries to locate the #GdaMetaDbObject structure representing the 
database object named after
+        <doc xml:space="preserve">Tries to locate the #GdaMetaDbObject structure representing the database 
object named after
 @catalog, @schema and @name.
 
 If one or both of @catalog and @schema are %NULL, and more than one database object matches the name, then
 the return value is also %NULL.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaMetaDbObject or %NULL if not found</doc>
+          <doc xml:space="preserve">the #GdaMetaDbObject or %NULL if not found</doc>
           <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
-          <parameter name="catalog" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the catalog the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
+          <parameter name="catalog"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the catalog the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="schema" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the schema the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
+          <parameter name="schema"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the schema the object belongs to (as a G_TYPE_STRING GValue), or 
%NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the object's name (as a G_TYPE_STRING GValue), not %NULL</doc>
+            <doc xml:space="preserve">the object's name (as a G_TYPE_STRING GValue), not %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -13471,22 +14249,22 @@ the return value is also %NULL.</doc>
       <method name="get_table_column"
               c:identifier="gda_meta_struct_get_table_column"
               introspectable="0">
-        <doc xml:whitespace="preserve">Tries to find the #GdaMetaTableColumn representing the column named 
@col_name in @table.</doc>
+        <doc xml:space="preserve">Tries to find the #GdaMetaTableColumn representing the column named 
@col_name in @table.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaMetaTableColumn or %NULL if not found</doc>
+          <doc xml:space="preserve">the #GdaMetaTableColumn or %NULL if not found</doc>
           <type name="MetaTableColumn" c:type="GdaMetaTableColumn*"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
           <parameter name="table" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaMetaTable structure to find the column for</doc>
+            <doc xml:space="preserve">the #GdaMetaTable structure to find the column for</doc>
             <type name="MetaTable" c:type="GdaMetaTable*"/>
           </parameter>
           <parameter name="col_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the column to find (as a G_TYPE_STRING GValue)</doc>
+            <doc xml:space="preserve">the name of the column to find (as a G_TYPE_STRING GValue)</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -13494,27 +14272,33 @@ the return value is also %NULL.</doc>
       <method name="load_from_xml_file"
               c:identifier="gda_meta_struct_load_from_xml_file"
               throws="1">
-        <doc xml:whitespace="preserve">Loads an XML description into @mstruct. This method is still 
experimental and no description
+        <doc xml:space="preserve">Loads an XML description into @mstruct. This method is still experimental 
and no description
 the XML file structure is given, and no guarantee that it will remain as it is given.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error has occurred</doc>
+          <doc xml:space="preserve">TRUE if no error has occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
-          <parameter name="catalog" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the catalog name, or %NULL</doc>
+          <parameter name="catalog"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the catalog name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="schema" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the schema name, or %NULL</doc>
+          <parameter name="schema"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the schema name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="xml_spec_file" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the specifications as the name of an XML file</doc>
+            <doc xml:space="preserve">the specifications as the name of an XML file</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -13522,18 +14306,18 @@ the XML file structure is given, and no guarantee that it will remain as it is g
       <method name="sort_db_objects"
               c:identifier="gda_meta_struct_sort_db_objects"
               throws="1">
-        <doc xml:whitespace="preserve">Reorders the list of database objects within @mstruct in a way 
specified by @sort_type.</doc>
+        <doc xml:space="preserve">Reorders the list of database objects within @mstruct in a way specified 
by @sort_type.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="mstruct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaStruct object</doc>
+            <doc xml:space="preserve">a #GdaMetaStruct object</doc>
             <type name="MetaStruct" c:type="GdaMetaStruct*"/>
           </instance-parameter>
           <parameter name="sort_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the kind of sorting requested</doc>
+            <doc xml:space="preserve">the kind of sorting requested</doc>
             <type name="MetaSortType" c:type="GdaMetaSortType"/>
           </parameter>
         </parameters>
@@ -13611,24 +14395,24 @@ the XML file structure is given, and no guarantee that it will remain as it is g
       </member>
     </enumeration>
     <bitfield name="MetaStructFeature" c:type="GdaMetaStructFeature">
-      <doc xml:whitespace="preserve">Controls which features are computed about database objects.</doc>
+      <doc xml:space="preserve">Controls which features are computed about database objects.</doc>
       <member name="none"
               value="0"
               c:identifier="GDA_META_STRUCT_FEATURE_NONE">
-        <doc xml:whitespace="preserve">database objects only have their own attributes</doc>
+        <doc xml:space="preserve">database objects only have their own attributes</doc>
       </member>
       <member name="foreign_keys"
               value="1"
               c:identifier="GDA_META_STRUCT_FEATURE_FOREIGN_KEYS">
-        <doc xml:whitespace="preserve">foreign keys are computed for tables</doc>
+        <doc xml:space="preserve">foreign keys are computed for tables</doc>
       </member>
       <member name="view_dependencies"
               value="2"
               c:identifier="GDA_META_STRUCT_FEATURE_VIEW_DEPENDENCIES">
-        <doc xml:whitespace="preserve">for views, the tables they use are also computed</doc>
+        <doc xml:space="preserve">for views, the tables they use are also computed</doc>
       </member>
       <member name="all" value="3" c:identifier="GDA_META_STRUCT_FEATURE_ALL">
-        <doc xml:whitespace="preserve">all the features are computed</doc>
+        <doc xml:space="preserve">all the features are computed</doc>
       </member>
     </bitfield>
     <record name="MetaStructPrivate"
@@ -13636,29 +14420,35 @@ the XML file structure is given, and no guarantee that it will remain as it is g
             disguised="1">
     </record>
     <record name="MetaTable" c:type="GdaMetaTable">
-      <doc xml:whitespace="preserve">This structure specifies a #GdaMetaDbObject to represent a table's 
specific attributes,
+      <doc xml:space="preserve">This structure specifies a #GdaMetaDbObject to represent a table's specific 
attributes,
 its contents must not be modified.
 
 Note that in some cases, the columns cannot be determined for views, and in this case the
 @columns will be %NULL (this can be the case for example with SQLite where a view
 uses a function which is not natively provided by SQLite.</doc>
       <field name="columns" writable="1">
+        <doc xml:space="preserve">list of #GdaMetaTableColumn structures, one for each column in the 
table</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="MetaTableColumn"/>
         </type>
       </field>
       <field name="pk_cols_array" writable="1">
+        <doc xml:space="preserve">index of the columns part of the primary key for the table (WARNING: 
columns numbering
+                here start at 0)</doc>
         <type name="gint" c:type="gint*"/>
       </field>
       <field name="pk_cols_nb" writable="1">
+        <doc xml:space="preserve">size of the @pk_cols_array array</doc>
         <type name="gint" c:type="gint"/>
       </field>
       <field name="reverse_fk_list" writable="1">
+        <doc xml:space="preserve">list of #GdaMetaTableForeignKey where the referenced table is this 
table</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="MetaTableForeignKey"/>
         </type>
       </field>
       <field name="fk_list" writable="1">
+        <doc xml:space="preserve">list of #GdaMetaTableForeignKey for this table</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="MetaTableForeignKey"/>
         </type>
@@ -13677,23 +14467,29 @@ uses a function which is not natively provided by SQLite.</doc>
       </field>
     </record>
     <record name="MetaTableColumn" c:type="GdaMetaTableColumn">
-      <doc xml:whitespace="preserve">This structure represents a table of view's column, its contents must 
not be modified.</doc>
+      <doc xml:space="preserve">This structure represents a table of view's column, its contents must not be 
modified.</doc>
       <field name="column_name" writable="1">
+        <doc xml:space="preserve">the column's name</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="column_type" writable="1">
+        <doc xml:space="preserve">the column's DBMS's type</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="gtype" writable="1">
+        <doc xml:space="preserve">the detected column's #GType</doc>
         <type name="GType" c:type="GType"/>
       </field>
       <field name="pkey" writable="1">
+        <doc xml:space="preserve">tells if the column is part of a primary key</doc>
         <type name="gboolean" c:type="gboolean"/>
       </field>
       <field name="nullok" writable="1">
+        <doc xml:space="preserve">tells if the column can be %NULL</doc>
         <type name="gboolean" c:type="gboolean"/>
       </field>
       <field name="default_value" writable="1">
+        <doc xml:space="preserve">the column's default value, represented as a valid SQL value (surrounded 
by simple quotes for strings, ...), or %NULL if column has no default value</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -13710,55 +14506,55 @@ uses a function which is not natively provided by SQLite.</doc>
       </field>
       <method name="foreach_attribute"
               c:identifier="gda_meta_table_column_foreach_attribute">
-        <doc xml:whitespace="preserve">Calls @func for each attribute set to tcol</doc>
+        <doc xml:space="preserve">Calls @func for each attribute set to tcol</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="tcol" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaTableColumn</doc>
+            <doc xml:space="preserve">a #GdaMetaTableColumn</doc>
             <type name="MetaTableColumn" c:type="GdaMetaTableColumn*"/>
           </instance-parameter>
           <parameter name="func"
                      transfer-ownership="none"
                      scope="call"
                      closure="1">
-            <doc xml:whitespace="preserve">a #GdaAttributesManagerFunc function</doc>
+            <doc xml:space="preserve">a #GdaAttributesManagerFunc function</doc>
             <type name="AttributesManagerFunc"
                   c:type="GdaAttributesManagerFunc"/>
           </parameter>
           <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to be passed as last argument of @func each time it is 
called</doc>
+            <doc xml:space="preserve">user data to be passed as last argument of @func each time it is 
called</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_attribute"
               c:identifier="gda_meta_table_column_get_attribute">
-        <doc xml:whitespace="preserve">Get the value associated to a named attribute.
+        <doc xml:space="preserve">Get the value associated to a named attribute.
 
 Attributes can have any name, but Libgda proposes some default names, see &lt;link 
linkend="libgda-5.0-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has 
been set for @column</doc>
+          <doc xml:space="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been 
set for @column</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="tcol" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaTableColumn</doc>
+            <doc xml:space="preserve">a #GdaMetaTableColumn</doc>
             <type name="MetaTableColumn" c:type="GdaMetaTableColumn*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name as a string</doc>
+            <doc xml:space="preserve">attribute name as a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_attribute"
               c:identifier="gda_meta_table_column_set_attribute">
-        <doc xml:whitespace="preserve">Set the value associated to a named attribute.
+        <doc xml:space="preserve">Set the value associated to a named attribute.
 
 Attributes can have any name, but Libgda proposes some default names, see &lt;link 
linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.
-If there is already an attribute named @attribute set, then its value is replaced with the new @value, 
+If there is already an attribute named @attribute set, then its value is replaced with the new @value,
 except if @value is %NULL, in which case the attribute is removed.
 
 Warning: @attribute is not copied, if it needs to be freed when not used anymore, then @destroy should point 
to
@@ -13768,48 +14564,61 @@ the functions which will free it (typically g_free()). If @attribute does not ne
         </return-value>
         <parameters>
           <instance-parameter name="tcol" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaMetaTableColumn</doc>
+            <doc xml:space="preserve">a #GdaMetaTableColumn</doc>
             <type name="MetaTableColumn" c:type="GdaMetaTableColumn*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name as a static string</doc>
+            <doc xml:space="preserve">attribute name as a static string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GValue, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="destroy"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1"
                      scope="async">
-            <doc xml:whitespace="preserve">function called when @attribute has to be freed, or %NULL</doc>
+            <doc xml:space="preserve">function called when @attribute has to be freed, or %NULL</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
       </method>
     </record>
     <record name="MetaTableForeignKey" c:type="GdaMetaTableForeignKey">
-      <doc xml:whitespace="preserve">This structure represents a foreign key constraint, its contents must 
not be modified.</doc>
+      <doc xml:space="preserve">This structure represents a foreign key constraint, its contents must not be 
modified.</doc>
       <field name="meta_table" writable="1">
+        <doc xml:space="preserve">the #GdaMetaDbObject for which this structure represents a foreign 
key</doc>
         <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
       </field>
       <field name="depend_on" writable="1">
+        <doc xml:space="preserve">the #GdaMetaDbObject which is referenced by the foreign key</doc>
         <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
       </field>
       <field name="cols_nb" writable="1">
+        <doc xml:space="preserve">the size of the @fk_cols_array, @fk_names_array, @ref_pk_cols_array and 
@ref_pk_names_array arrays</doc>
         <type name="gint" c:type="gint"/>
       </field>
       <field name="fk_cols_array" writable="1">
+        <doc xml:space="preserve">the columns' indexes in @meta_table which participate in the constraint 
(WARNING: columns numbering
+                here start at 1)</doc>
         <type name="gint" c:type="gint*"/>
       </field>
       <field name="fk_names_array" writable="1">
+        <doc xml:space="preserve">the columns' names in @meta_table which participate in the constraint</doc>
         <type name="utf8" c:type="gchar**"/>
       </field>
       <field name="ref_pk_cols_array" writable="1">
+        <doc xml:space="preserve">the columns' indexes in @depend_on which participate in the constraint 
(WARNING: columns numbering
+                here start at 1)</doc>
         <type name="gint" c:type="gint*"/>
       </field>
       <field name="ref_pk_names_array" writable="1">
+        <doc xml:space="preserve">the columns' names in @depend_on which participate in the constraint</doc>
         <type name="utf8" c:type="gchar**"/>
       </field>
       <field name="on_update_policy" readable="0" private="1">
@@ -13838,15 +14647,18 @@ the functions which will free it (typically g_free()). If @attribute does not ne
       </field>
     </record>
     <record name="MetaView" c:type="GdaMetaView">
-      <doc xml:whitespace="preserve">This structure specifies a #GdaMetaDbObject to represent a view's 
specific attributes,
+      <doc xml:space="preserve">This structure specifies a #GdaMetaDbObject to represent a view's specific 
attributes,
 its contents must not be modified.</doc>
       <field name="table" writable="1">
+        <doc xml:space="preserve">a view is also a table as it has columns</doc>
         <type name="MetaTable" c:type="GdaMetaTable"/>
       </field>
       <field name="view_def" writable="1">
+        <doc xml:space="preserve">views' definition</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="is_updatable" writable="1">
+        <doc xml:space="preserve">tells if the view's contents can be updated</doc>
         <type name="gboolean" c:type="gboolean"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -13872,50 +14684,55 @@ its contents must not be modified.</doc>
             glib:type-name="GdaNumeric"
             glib:get-type="gda_numeric_get_type"
             c:symbol-prefix="numeric">
-      <doc xml:whitespace="preserve">Holds numbers represented as strings.
+      <doc xml:space="preserve">Holds numbers represented as strings.
 
 This struct must be considered as opaque. Any access to its members must use its
 accessors added since version 5.0.2.</doc>
       <field name="number" writable="1">
+        <doc xml:space="preserve">a string representing a number</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="precision" writable="1">
+        <doc xml:space="preserve">precision to use when @number is converted (not implemented jet)</doc>
         <type name="glong" c:type="glong"/>
       </field>
       <field name="width" writable="1">
+        <doc xml:space="preserve">not implemented jet</doc>
         <type name="glong" c:type="glong"/>
       </field>
       <field name="reserved" readable="0" private="1">
         <type name="gpointer" c:type="gpointer"/>
       </field>
       <constructor name="new" c:identifier="gda_numeric_new" version="5.0.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaNumeric with defaults.</doc>
+        <doc xml:space="preserve">Creates a new #GdaNumeric with defaults.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaNumeric.</doc>
+          <doc xml:space="preserve">a new #GdaNumeric.</doc>
           <type name="Numeric" c:type="GdaNumeric*"/>
         </return-value>
       </constructor>
       <method name="copy" c:identifier="gda_numeric_copy">
-        <doc xml:whitespace="preserve">Creates a new #GdaNumeric structure from an existing one.</doc>
+        <doc xml:space="preserve">Creates a new #GdaNumeric structure from an existing one.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated #GdaNumeric which contains a copy of information 
in @boxed.  Free-function: gda_numeric_free</doc>
+          <doc xml:space="preserve">a newly allocated #GdaNumeric which contains a copy of information in 
@boxed.
+
+Free-function: gda_numeric_free</doc>
           <type name="Numeric" c:type="GdaNumeric*"/>
         </return-value>
         <parameters>
           <instance-parameter name="src" transfer-ownership="none">
-            <doc xml:whitespace="preserve">source to get a copy from.</doc>
+            <doc xml:space="preserve">source to get a copy from.</doc>
             <type name="Numeric" c:type="GdaNumeric*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="free" c:identifier="gda_numeric_free">
-        <doc xml:whitespace="preserve">Deallocates all memory associated to the given @boxed</doc>
+        <doc xml:space="preserve">Deallocates all memory associated to the given @boxed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="full">
-            <doc xml:whitespace="preserve">a #GdaNumeric pointer</doc>
+            <doc xml:space="preserve">a #GdaNumeric pointer</doc>
             <type name="Numeric" c:type="GdaNumeric*"/>
           </instance-parameter>
         </parameters>
@@ -13924,95 +14741,93 @@ accessors added since version 5.0.2.</doc>
               c:identifier="gda_numeric_get_double"
               version="5.0.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #gdouble representation of @numeric</doc>
+          <doc xml:space="preserve">a #gdouble representation of @numeric</doc>
           <type name="gdouble" c:type="gdouble"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
-            <type name="Numeric" c:type="GdaNumeric*"/>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
+            <type name="Numeric" c:type="const GdaNumeric*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_precision"
               c:identifier="gda_numeric_get_precision"
               version="5.0.2">
-        <doc xml:whitespace="preserve">Gets the precision of a #GdaNumeric.</doc>
+        <doc xml:space="preserve">Gets the precision of a #GdaNumeric.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">an integer with the precision of a #GdaNumeric.</doc>
+          <doc xml:space="preserve">an integer with the precision of a #GdaNumeric.</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
-            <type name="Numeric" c:type="GdaNumeric*"/>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
+            <type name="Numeric" c:type="const GdaNumeric*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_string"
               c:identifier="gda_numeric_get_string"
               version="5.0.2">
-        <doc xml:whitespace="preserve">Get the string representation of @numeric.</doc>
+        <doc xml:space="preserve">Get the string representation of @numeric, in the C locale format (dot as 
a fraction separator).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string representing the stored valued in @numeric</doc>
+          <doc xml:space="preserve">a new string representing the stored valued in @numeric</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
-            <type name="Numeric" c:type="GdaNumeric*"/>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
+            <type name="Numeric" c:type="const GdaNumeric*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_width"
               c:identifier="gda_numeric_get_width"
               version="5.0.2">
-        <doc xml:whitespace="preserve">Gets the width of a #GdaNumeric. (Not yet implemented).</doc>
+        <doc xml:space="preserve">Gets the width of a #GdaNumeric. (Not yet implemented).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">an integer with the width of a #GdaNumeric. (Not jet 
implemented).</doc>
+          <doc xml:space="preserve">an integer with the width of a #GdaNumeric. (Not jet implemented).</doc>
           <type name="glong" c:type="glong"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
-            <type name="Numeric" c:type="GdaNumeric*"/>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
+            <type name="Numeric" c:type="const GdaNumeric*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="set_double"
               c:identifier="gda_numeric_set_double"
               version="5.0.2">
-        <doc xml:whitespace="preserve">Sets @numeric using a #gdouble represented by @number.</doc>
+        <doc xml:space="preserve">Sets @numeric using a #gdouble represented by @number.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
             <type name="Numeric" c:type="GdaNumeric*"/>
           </instance-parameter>
           <parameter name="number" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #gdouble</doc>
+            <doc xml:space="preserve">a #gdouble</doc>
             <type name="gdouble" c:type="gdouble"/>
           </parameter>
         </parameters>
       </method>
       <method name="set_from_string"
-              c:identifier="gda_numeric_set_from_string">
-        <doc xml:whitespace="preserve">Sets @numeric with a number represented by @str. By default converts 
@str to
-#gdouble.
-
-* Since: 5.0.2</doc>
+              c:identifier="gda_numeric_set_from_string"
+              version="5.0.2">
+        <doc xml:space="preserve">Sets @numeric with a number represented by @str, in the C locale format 
(dot as a fraction separator).</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
             <type name="Numeric" c:type="GdaNumeric*"/>
           </instance-parameter>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string representing a number</doc>
+            <doc xml:space="preserve">a string representing a number, in the C locale format</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14020,17 +14835,17 @@ accessors added since version 5.0.2.</doc>
       <method name="set_precision"
               c:identifier="gda_numeric_set_precision"
               version="5.0.2">
-        <doc xml:whitespace="preserve">Sets the precision of a #GdaNumeric.</doc>
+        <doc xml:space="preserve">Sets the precision of a #GdaNumeric.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
             <type name="Numeric" c:type="GdaNumeric*"/>
           </instance-parameter>
           <parameter name="precision" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #glong</doc>
+            <doc xml:space="preserve">a #glong</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
         </parameters>
@@ -14038,17 +14853,17 @@ accessors added since version 5.0.2.</doc>
       <method name="set_width"
               c:identifier="gda_numeric_set_width"
               version="5.0.2">
-        <doc xml:whitespace="preserve">Sets the width of a #GdaNumeric. (Not yet implemented).</doc>
+        <doc xml:space="preserve">Sets the width of a #GdaNumeric. (Not yet implemented).</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="numeric" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaNumeric</doc>
+            <doc xml:space="preserve">a #GdaNumeric</doc>
             <type name="Numeric" c:type="GdaNumeric*"/>
           </instance-parameter>
           <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #glong</doc>
+            <doc xml:space="preserve">a #glong</doc>
             <type name="glong" c:type="glong"/>
           </parameter>
         </parameters>
@@ -14063,51 +14878,51 @@ accessors added since version 5.0.2.</doc>
            glib:get-type="gda_pstmt_get_type"
            glib:type-struct="PStmtClass">
       <method name="copy_contents" c:identifier="gda_pstmt_copy_contents">
-        <doc xml:whitespace="preserve">Copies @src's data to @dest</doc>
+        <doc xml:space="preserve">Copies @src's data to @dest</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="src" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaPStmt object</doc>
+            <doc xml:space="preserve">a #GdaPStmt object</doc>
             <type name="PStmt" c:type="GdaPStmt*"/>
           </instance-parameter>
           <parameter name="dest" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaPStmt object</doc>
+            <doc xml:space="preserve">a #GdaPStmt object</doc>
             <type name="PStmt" c:type="GdaPStmt*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_gda_statement"
               c:identifier="gda_pstmt_get_gda_statement">
-        <doc xml:whitespace="preserve">Get a pointer to the #GdaStatement which led to the creation of this 
prepared statement.
+        <doc xml:space="preserve">Get a pointer to the #GdaStatement which led to the creation of this 
prepared statement.
 
 Note: if that statement has been modified since the creation of @pstmt, then this method
 will return %NULL</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaStatement</doc>
+          <doc xml:space="preserve">the #GdaStatement</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </return-value>
         <parameters>
           <instance-parameter name="pstmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaPStmt object</doc>
+            <doc xml:space="preserve">a #GdaPStmt object</doc>
             <type name="PStmt" c:type="GdaPStmt*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="set_gda_statement"
               c:identifier="gda_pstmt_set_gda_statement">
-        <doc xml:whitespace="preserve">Informs @pstmt that it corresponds to the preparation of the @stmt 
statement</doc>
+        <doc xml:space="preserve">Informs @pstmt that it corresponds to the preparation of the @stmt 
statement</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="pstmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaPStmt object</doc>
+            <doc xml:space="preserve">a #GdaPStmt object</doc>
             <type name="PStmt" c:type="GdaPStmt*"/>
           </instance-parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
@@ -14119,20 +14934,25 @@ will return %NULL</doc>
         <type name="PStmtPrivate" c:type="GdaPStmtPrivate*"/>
       </field>
       <field name="sql">
+        <doc xml:space="preserve">actual SQL code used for this prepared statement, mem freed by 
GdaPStmt</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="param_ids">
+        <doc xml:space="preserve">list of parameters' IDs (as gchar *), mem freed by GdaPStmt</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="utf8"/>
         </type>
       </field>
       <field name="ncols">
+        <doc xml:space="preserve">number of types in array</doc>
         <type name="gint" c:type="gint"/>
       </field>
       <field name="types">
+        <doc xml:space="preserve">array of ncols types</doc>
         <type name="GType" c:type="GType*"/>
       </field>
       <field name="tmpl_columns">
+        <doc xml:space="preserve">list of #GdaColumn objects which data models created from this prep. 
statement can copy</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="Column"/>
         </type>
@@ -14182,20 +15002,25 @@ will return %NULL</doc>
     <record name="PStmtPrivate" c:type="GdaPStmtPrivate" disguised="1">
     </record>
     <record name="ProviderInfo" c:type="GdaProviderInfo">
-      <doc xml:whitespace="preserve">This structure holds the information associated to a database provider 
as discovered by Libgda.</doc>
+      <doc xml:space="preserve">This structure holds the information associated to a database provider as 
discovered by Libgda.</doc>
       <field name="id" writable="1">
+        <doc xml:space="preserve">the unique identifier of the database provider</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="location" writable="1">
+        <doc xml:space="preserve">the complete path to the shared library implementing the database 
provider</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="description" writable="1">
+        <doc xml:space="preserve">provider's description</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="dsn_params" writable="1">
+        <doc xml:space="preserve">a #GdaSet containing all the parameters which can/must be specified when 
opening a connection or defining a named data source (DSN)</doc>
         <type name="Set" c:type="GdaSet*"/>
       </field>
       <field name="auth_params" writable="1">
+        <doc xml:space="preserve">a #GdaSet containing all the authentication parameters</doc>
         <type name="Set" c:type="GdaSet*"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -14217,42 +15042,46 @@ will return %NULL</doc>
             glib:get-type="gda_quark_list_get_type"
             c:symbol-prefix="quark_list">
       <constructor name="new" c:identifier="gda_quark_list_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaQuarkList, which is a set of key-&gt;value pairs,
+        <doc xml:space="preserve">Creates a new #GdaQuarkList, which is a set of key-&gt;value pairs,
 very similar to GLib's GHashTable, but with the only purpose to
 make easier the parsing and creation of data source connection
 strings.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #GdaQuarkList.  Free-function: 
gda_quark_list_free</doc>
+          <doc xml:space="preserve">the newly created #GdaQuarkList.
+
+Free-function: gda_quark_list_free</doc>
           <type name="QuarkList" c:type="GdaQuarkList*"/>
         </return-value>
       </constructor>
       <constructor name="new_from_string"
                    c:identifier="gda_quark_list_new_from_string">
-        <doc xml:whitespace="preserve">Creates a new #GdaQuarkList given a string.
+        <doc xml:space="preserve">Creates a new #GdaQuarkList given a string.
 
 @string must be a semi-colon separated list of "&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;" strings (for 
example
 "DB_NAME=notes;USERNAME=alfred"). Each key and value must respect the RFC 1738 recommendations: the
-&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by 
+&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by
 &lt;constant&gt;&amp;quot;%%ab&amp;quot;&lt;/constant&gt; where
 &lt;constant&gt;ab&lt;/constant&gt; is the hexadecimal number corresponding to the character (for example the
 "DB_NAME=notes;USERNAME=al%%20fred" string will specify a username as "al fred"). If this formalism
 is not respected, then some unexpected results may occur.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #GdaQuarkList.  Free-function: 
gda_quark_list_free</doc>
+          <doc xml:space="preserve">the newly created #GdaQuarkList.
+
+Free-function: gda_quark_list_free</doc>
           <type name="QuarkList" c:type="GdaQuarkList*"/>
         </return-value>
         <parameters>
           <parameter name="string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string.</doc>
+            <doc xml:space="preserve">a string.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </constructor>
       <method name="add_from_string"
               c:identifier="gda_quark_list_add_from_string">
-        <doc xml:whitespace="preserve">@string must be a semi-colon separated list of 
"&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;" strings (for example
+        <doc xml:space="preserve">@string must be a semi-colon separated list of 
"&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;" strings (for example
 "DB_NAME=notes;USERNAME=alfred"). Each key and value must respect the RFC 1738 recommendations: the
-&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by 
+&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by
 &lt;constant&gt;&amp;quot;%%ab&amp;quot;&lt;/constant&gt; where
 &lt;constant&gt;ab&lt;/constant&gt; is the hexadecimal number corresponding to the character (for example the
 "DB_NAME=notes;USERNAME=al%%20fred" string will specify a username as "al fred"). If this formalism
@@ -14266,95 +15095,95 @@ the new pairs.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaQuarkList.</doc>
+            <doc xml:space="preserve">a #GdaQuarkList.</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
           <parameter name="string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string.</doc>
+            <doc xml:space="preserve">a string.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="cleanup" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether to cleanup the previous content or not.</doc>
+            <doc xml:space="preserve">whether to cleanup the previous content or not.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
       </method>
       <method name="clear" c:identifier="gda_quark_list_clear">
-        <doc xml:whitespace="preserve">Removes all strings in the given #GdaQuarkList.</doc>
+        <doc xml:space="preserve">Removes all strings in the given #GdaQuarkList.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaQuarkList.</doc>
+            <doc xml:space="preserve">a #GdaQuarkList.</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="copy" c:identifier="gda_quark_list_copy">
-        <doc xml:whitespace="preserve">Creates a new #GdaQuarkList from an existing one.</doc>
+        <doc xml:space="preserve">Creates a new #GdaQuarkList from an existing one.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated #GdaQuarkList with a copy of the data in 
@qlist.</doc>
+          <doc xml:space="preserve">a newly allocated #GdaQuarkList with a copy of the data in @qlist.</doc>
           <type name="QuarkList" c:type="GdaQuarkList*"/>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">quark_list to get a copy from.</doc>
+            <doc xml:space="preserve">quark_list to get a copy from.</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="find" c:identifier="gda_quark_list_find">
-        <doc xml:whitespace="preserve">Searches for the value identified by @name in the given 
#GdaQuarkList. For protected values
+        <doc xml:space="preserve">Searches for the value identified by @name in the given #GdaQuarkList. For 
protected values
 (authentification data), don't forget to call gda_quark_list_protect_values() when you
 don't need them anymore (when needed again, they will be unmangled again).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the value associated with the given key if found, or %NULL if not 
found.</doc>
+          <doc xml:space="preserve">the value associated with the given key if found, or %NULL if not 
found.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaQuarkList.</doc>
+            <doc xml:space="preserve">a #GdaQuarkList.</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the value to search for.</doc>
+            <doc xml:space="preserve">the name of the value to search for.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="foreach" c:identifier="gda_quark_list_foreach">
-        <doc xml:whitespace="preserve">Calls the given function for each of the key/value pairs in @qlist. 
The function is passed the key and value 
+        <doc xml:space="preserve">Calls the given function for each of the key/value pairs in @qlist. The 
function is passed the key and value
 of each pair, and the given user_data parameter. @qlist may not be modified while iterating over it.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaQuarkList structure.</doc>
+            <doc xml:space="preserve">a #GdaQuarkList structure.</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
           <parameter name="func"
                      transfer-ownership="none"
                      scope="call"
                      closure="1">
-            <doc xml:whitespace="preserve">the function to call for each key/value pair</doc>
+            <doc xml:space="preserve">the function to call for each key/value pair</doc>
             <type name="GLib.HFunc" c:type="GHFunc"/>
           </parameter>
           <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to pass to the function</doc>
+            <doc xml:space="preserve">user data to pass to the function</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </method>
       <method name="free" c:identifier="gda_quark_list_free">
-        <doc xml:whitespace="preserve">Releases all memory occupied by the given #GdaQuarkList.</doc>
+        <doc xml:space="preserve">Releases all memory occupied by the given #GdaQuarkList.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaQuarkList.</doc>
+            <doc xml:space="preserve">a #GdaQuarkList.</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
         </parameters>
@@ -14362,30 +15191,30 @@ of each pair, and the given user_data parameter. @qlist may not be modified whil
       <method name="protect_values"
               c:identifier="gda_quark_list_protect_values"
               version="5.2.0">
-        <doc xml:whitespace="preserve">Call this function to get rid of the clear version of the value 
associated to
+        <doc xml:space="preserve">Call this function to get rid of the clear version of the value associated 
to
 @name.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaQuarkList</doc>
+            <doc xml:space="preserve">a #GdaQuarkList</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="remove" c:identifier="gda_quark_list_remove">
-        <doc xml:whitespace="preserve">Removes an entry from the #GdaQuarkList, given its name.</doc>
+        <doc xml:space="preserve">Removes an entry from the #GdaQuarkList, given its name.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="qlist" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaQuarkList structure.</doc>
+            <doc xml:space="preserve">a #GdaQuarkList structure.</doc>
             <type name="QuarkList" c:type="GdaQuarkList*"/>
           </instance-parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an entry name.</doc>
+            <doc xml:space="preserve">an entry name.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14401,16 +15230,16 @@ of each pair, and the given user_data parameter. @qlist may not be modified whil
       <constructor name="new"
                    c:identifier="gda_repetitive_statement_new"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaRepetitiveStatement object which, when executed, 
will execute @stmt once for all
+        <doc xml:space="preserve">Creates a new #GdaRepetitiveStatement object which, when executed, will 
execute @stmt once for all
 the values set which will have been defined using gda_repetitive_statement_append_set().
 Use gda_connection_repetitive_statement_execute() to actually execute it.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaRepetitiveStatement object</doc>
+          <doc xml:space="preserve">a new #GdaRepetitiveStatement object</doc>
           <type name="RepetitiveStatement" c:type="GdaRepetitiveStatement*"/>
         </return-value>
         <parameters>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
         </parameters>
@@ -14418,25 +15247,25 @@ Use gda_connection_repetitive_statement_execute() to actually execute it.</doc>
       <method name="append_set"
               c:identifier="gda_repetitive_statement_append_set"
               version="4.2">
-        <doc xml:whitespace="preserve">Specifies that @rstmt be executed one time with the values contained 
in @values. 
+        <doc xml:space="preserve">Specifies that @rstmt be executed one time with the values contained in 
@values.
 
 A new #GdaSet to be used as the @values argument can be obtained using
 gda_repetitive_statement_get_template_set().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a new #GdaRepetitiveStatement object</doc>
+          <doc xml:space="preserve">a new #GdaRepetitiveStatement object</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="rstmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRepetitiveStatement object</doc>
+            <doc xml:space="preserve">a #GdaRepetitiveStatement object</doc>
             <type name="RepetitiveStatement" c:type="GdaRepetitiveStatement*"/>
           </instance-parameter>
           <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object with the values to be used</doc>
+            <doc xml:space="preserve">a #GdaSet object with the values to be used</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="make_copy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if @values is copied, and %FALSE if @values is only 
ref'ed</doc>
+            <doc xml:space="preserve">%TRUE if @values is copied, and %FALSE if @values is only ref'ed</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -14444,16 +15273,16 @@ gda_repetitive_statement_get_template_set().</doc>
       <method name="get_all_sets"
               c:identifier="gda_repetitive_statement_get_all_sets"
               version="4.2">
-        <doc xml:whitespace="preserve">Get all the values sets which will have been added using 
gda_repetitive_statement_append_set().</doc>
+        <doc xml:space="preserve">Get all the values sets which will have been added using 
gda_repetitive_statement_append_set().</doc>
         <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a new #GSList of #GdaSet objects (free with g_slist_free()).</doc>
+          <doc xml:space="preserve">a new #GSList of #GdaSet objects (free with g_slist_free()).</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="Set"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="rstmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRepetitiveStatement object</doc>
+            <doc xml:space="preserve">a #GdaRepetitiveStatement object</doc>
             <type name="RepetitiveStatement" c:type="GdaRepetitiveStatement*"/>
           </instance-parameter>
         </parameters>
@@ -14462,21 +15291,21 @@ gda_repetitive_statement_get_template_set().</doc>
               c:identifier="gda_repetitive_statement_get_template_set"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Gets a new #GdaSet object with the parameters used by the template 
statement in the
- rstmt object. 
+        <doc xml:space="preserve">Gets a new #GdaSet object with the parameters used by the template 
statement in the
+ rstmt object.
 
 Use this object with gda_repetitive_statement_append_set().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error</doc>
+          <doc xml:space="preserve">%TRUE on success, %FALSE on error</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="rstmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRepetitiveStatement object</doc>
+            <doc xml:space="preserve">a #GdaRepetitiveStatement object</doc>
             <type name="RepetitiveStatement" c:type="GdaRepetitiveStatement*"/>
           </instance-parameter>
           <parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store the returned template set</doc>
+            <doc xml:space="preserve">a place to store the returned template set</doc>
             <type name="Set" c:type="GdaSet**"/>
           </parameter>
         </parameters>
@@ -14506,63 +15335,63 @@ Use this object with gda_repetitive_statement_append_set().</doc>
            glib:get-type="gda_row_get_type"
            glib:type-struct="RowClass">
       <constructor name="new" c:identifier="gda_row_new">
-        <doc xml:whitespace="preserve">Creates a #GdaRow which can hold @count #GValue values.</doc>
+        <doc xml:space="preserve">Creates a #GdaRow which can hold @count #GValue values.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated #GdaRow object.</doc>
+          <doc xml:space="preserve">a newly allocated #GdaRow object.</doc>
           <type name="Row" c:type="GdaRow*"/>
         </return-value>
         <parameters>
           <parameter name="count" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of #GValue in the new #GdaRow.</doc>
+            <doc xml:space="preserve">number of #GValue in the new #GdaRow.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </constructor>
       <method name="get_length" c:identifier="gda_row_get_length">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns that the @row has.</doc>
+          <doc xml:space="preserve">the number of columns that the @row has.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRow.</doc>
+            <doc xml:space="preserve">a #GdaRow.</doc>
             <type name="Row" c:type="GdaRow*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_value" c:identifier="gda_row_get_value">
-        <doc xml:whitespace="preserve">Gets a pointer to a #GValue stored in a #GdaRow.
+        <doc xml:space="preserve">Gets a pointer to a #GValue stored in a #GdaRow.
 
 This is a pointer to the internal array of values. Don't try to free
 or modify it (modifying is reserved to database provider's implementations).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the #GValue in the position @num of @row.</doc>
+          <doc xml:space="preserve">a pointer to the #GValue in the position @num of @row.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRow</doc>
+            <doc xml:space="preserve">a #GdaRow</doc>
             <type name="Row" c:type="GdaRow*"/>
           </instance-parameter>
           <parameter name="num" transfer-ownership="none">
-            <doc xml:whitespace="preserve">field index.</doc>
+            <doc xml:space="preserve">field index.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="invalidate_value" c:identifier="gda_row_invalidate_value">
-        <doc xml:whitespace="preserve">Marks @value as being invalid. This method is mainly used by database
+        <doc xml:space="preserve">Marks @value as being invalid. This method is mainly used by database
 providers' implementations to report any error while reading a value from the database.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRow</doc>
+            <doc xml:space="preserve">a #GdaRow</doc>
             <type name="Row" c:type="GdaRow*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with 
gda_row_get_value()).</doc>
+            <doc xml:space="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
         </parameters>
@@ -14570,41 +15399,44 @@ providers' implementations to report any error while reading a value from the da
       <method name="invalidate_value_e"
               c:identifier="gda_row_invalidate_value_e"
               version="4.2.10">
-        <doc xml:whitespace="preserve">Marks @value as being invalid. This method is mainly used by database
+        <doc xml:space="preserve">Marks @value as being invalid. This method is mainly used by database
 providers' implementations to report any error while reading a value from the database.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRow</doc>
+            <doc xml:space="preserve">a #GdaRow</doc>
             <type name="Row" c:type="GdaRow*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with 
gda_row_get_value()).</doc>
+            <doc xml:space="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
-          <parameter name="error" transfer-ownership="full" allow-none="1">
-            <doc xml:whitespace="preserve">the error which lead to the invalidation</doc>
+          <parameter name="error"
+                     transfer-ownership="full"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the error which lead to the invalidation</doc>
             <type name="GLib.Error" c:type="GError*"/>
           </parameter>
         </parameters>
       </method>
       <method name="value_is_valid" c:identifier="gda_row_value_is_valid">
-        <doc xml:whitespace="preserve">Tells if @value has been marked as being invalid by 
gda_row_invalidate_value().
+        <doc xml:space="preserve">Tells if @value has been marked as being invalid by 
gda_row_invalidate_value().
 This method is mainly used by database
 providers' implementations to report any error while reading a value from the database.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @value is valid</doc>
+          <doc xml:space="preserve">%TRUE if @value is valid</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRow.</doc>
+            <doc xml:space="preserve">a #GdaRow.</doc>
             <type name="Row" c:type="GdaRow*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with 
gda_row_get_value()).</doc>
+            <doc xml:space="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
         </parameters>
@@ -14613,20 +15445,20 @@ providers' implementations to report any error while reading a value from the da
               c:identifier="gda_row_value_is_valid_e"
               version="4.2.10"
               throws="1">
-        <doc xml:whitespace="preserve">Tells if @value has been marked as being invalid by 
gda_row_invalidate_value().
+        <doc xml:space="preserve">Tells if @value has been marked as being invalid by 
gda_row_invalidate_value().
 This method is mainly used by database
 providers' implementations to report any error while reading a value from the database.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @value is valid</doc>
+          <doc xml:space="preserve">%TRUE if @value is valid</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaRow.</doc>
+            <doc xml:space="preserve">a #GdaRow.</doc>
             <type name="Row" c:type="GdaRow*"/>
           </instance-parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with 
gda_row_get_value()).</doc>
+            <doc xml:space="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
         </parameters>
@@ -14705,7 +15537,7 @@ providers' implementations to report any error while reading a value from the da
            glib:get-type="gda_server_operation_get_type"
            glib:type-struct="ServerOperationClass">
       <constructor name="new" c:identifier="gda_server_operation_new">
-        <doc xml:whitespace="preserve">IMPORTANT NOTE: Using this funtion is not the recommended way of 
creating a #GdaServerOperation object, the
+        <doc xml:space="preserve">IMPORTANT NOTE: Using this funtion is not the recommended way of creating 
a #GdaServerOperation object, the
 correct way is to use gda_server_provider_create_operation(); this method is reserved for the database 
provider's
 implementation.
 
@@ -14714,16 +15546,16 @@ Creates a new #GdaServerOperation object from the @xml_file specifications
 The @xml_file must respect the DTD described in the "libgda-server-operation.dtd" file: its top
 node must be a &amp;lt;serv_op&amp;gt; tag.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaServerOperation object</doc>
+          <doc xml:space="preserve">a new #GdaServerOperation object</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <parameter name="op_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">type of operation</doc>
+            <doc xml:space="preserve">type of operation</doc>
             <type name="ServerOperationType" c:type="GdaServerOperationType"/>
           </parameter>
           <parameter name="xml_file" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a file which has the specifications for the GdaServerOperation 
object to create</doc>
+            <doc xml:space="preserve">a file which has the specifications for the GdaServerOperation object 
to create</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14736,14 +15568,14 @@ node must be a &amp;lt;serv_op&amp;gt; tag.</doc>
       </function>
       <function name="op_type_to_string"
                 c:identifier="gda_server_operation_op_type_to_string">
-        <doc xml:whitespace="preserve">Get a string version of @type</doc>
+        <doc xml:space="preserve">Get a string version of @type</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a non %NULL string (do not free or modify)</doc>
+          <doc xml:space="preserve">a non %NULL string (do not free or modify)</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperationType value</doc>
+            <doc xml:space="preserve">a #GdaServerOperationType value</doc>
             <type name="ServerOperationType" c:type="GdaServerOperationType"/>
           </parameter>
         </parameters>
@@ -14752,23 +15584,27 @@ node must be a &amp;lt;serv_op&amp;gt; tag.</doc>
                 c:identifier="gda_server_operation_prepare_create_database"
                 version="4.2.3"
                 throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which contains the 
specifications required
+        <doc xml:space="preserve">Creates a new #GdaServerOperation object which contains the specifications 
required
 to create a database. Once these specifications provided, use
 gda_server_operation_perform_create_database() to perform the database creation.
 
 If @db_name is left %NULL, then the name of the database to create will have to be set in the
 returned #GdaServerOperation using gda_server_operation_set_value_at().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">new #GdaServerOperation object, or %NULL if the provider does not 
support database creation</doc>
+          <doc xml:space="preserve">new #GdaServerOperation object, or %NULL if the provider does not 
support database
+creation</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the database provider to use</doc>
+            <doc xml:space="preserve">the database provider to use</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="db_name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the name of the database to create, or %NULL</doc>
+          <parameter name="db_name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the name of the database to create, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14777,7 +15613,7 @@ returned #GdaServerOperation using gda_server_operation_set_value_at().</doc>
                 c:identifier="gda_server_operation_prepare_create_table"
                 version="4.2.3"
                 introspectable="0">
-        <doc xml:whitespace="preserve">Add more arguments if the flag needs them:
+        <doc xml:space="preserve">Add more arguments if the flag needs them:
 
 GDA_SERVER_OPERATION_CREATE_TABLE_FKEY_FLAG:
 &lt;itemizedlist&gt;
@@ -14799,25 +15635,26 @@ You'll be able to modify the #GdaServerOperation object to add custom options *
 or #gda_server_provider_perform_operation
 in order to execute the operation.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaServerOperation if no errors; NULL and set @error 
otherwise</doc>
+          <doc xml:space="preserve">a #GdaServerOperation if no errors; NULL and set @error otherwise</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the table to create</doc>
+            <doc xml:space="preserve">name of the table to create</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+            <doc xml:space="preserve">a place to store errors, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
-          <parameter name="arg3" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">group of three arguments for column's name, column's #GType
+and a #GdaServerOperationCreateTableFlag flag, finished with %NULL</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </function>
@@ -14825,23 +15662,27 @@ in order to execute the operation.</doc>
                 c:identifier="gda_server_operation_prepare_drop_database"
                 version="4.2.3"
                 throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which contains the 
specifications required
+        <doc xml:space="preserve">Creates a new #GdaServerOperation object which contains the specifications 
required
 to drop a database. Once these specifications provided, use
 gda_server_operation_perform_drop_database() to perform the database creation.
 
 If @db_name is left %NULL, then the name of the database to drop will have to be set in the
 returned #GdaServerOperation using gda_server_operation_set_value_at().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">new #GdaServerOperation object, or %NULL if the provider does not 
support database destruction</doc>
+          <doc xml:space="preserve">new #GdaServerOperation object, or %NULL if the provider does not 
support database
+destruction</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the database provider to use</doc>
+            <doc xml:space="preserve">the database provider to use</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="db_name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the name of the database to drop, or %NULL</doc>
+          <parameter name="db_name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the name of the database to drop, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14850,19 +15691,19 @@ returned #GdaServerOperation using gda_server_operation_set_value_at().</doc>
                 c:identifier="gda_server_operation_prepare_drop_table"
                 version="4.2.3"
                 throws="1">
-        <doc xml:whitespace="preserve">This is just a convenient function to create a #GdaServerOperation to 
drop a
+        <doc xml:space="preserve">This is just a convenient function to create a #GdaServerOperation to drop 
a
 table in an opened connection.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaServerOperation or %NULL if couldn't create the 
opereration.</doc>
+          <doc xml:space="preserve">a new #GdaServerOperation or %NULL if couldn't create the 
opereration.</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an opened connection</doc>
+            <doc xml:space="preserve">an opened connection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the table to drop</doc>
+            <doc xml:space="preserve">name of the table to drop</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14870,14 +15711,15 @@ table in an opened connection.</doc>
       <function name="string_to_op_type"
                 c:identifier="gda_server_operation_string_to_op_type"
                 version="4.2">
-        <doc xml:whitespace="preserve">Performs the reverse of gda_server_operation_op_type_to_string()</doc>
+        <doc xml:space="preserve">Performs the reverse of gda_server_operation_op_type_to_string()</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaServerOperationType represented by @str, or #G_MAXINT if 
@str is not a valid representation of a #GdaServerOperationType</doc>
+          <doc xml:space="preserve">the #GdaServerOperationType represented by @str, or #G_MAXINT if @str is 
not a valid representation
+of a #GdaServerOperationType</doc>
           <type name="ServerOperationType" c:type="GdaServerOperationType"/>
         </return-value>
         <parameters>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string</doc>
+            <doc xml:space="preserve">a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14917,16 +15759,17 @@ table in an opened connection.</doc>
       <method name="add_item_to_sequence"
               c:identifier="gda_server_operation_add_item_to_sequence">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the index of the new entry in the sequence (like 5 for example if a 
6th item has been added to the sequence.</doc>
+          <doc xml:space="preserve">the index of the new entry in the sequence (like 5 for example if a 6th 
item has
+         been added to the sequence.</doc>
           <type name="guint" c:type="guint"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="seq_path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the path to the sequence to which an item must be added (like 
"/SEQ_NAME" for instance)</doc>
+            <doc xml:space="preserve">the path to the sequence to which an item must be added (like 
"/SEQ_NAME" for instance)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14934,16 +15777,16 @@ table in an opened connection.</doc>
       <method name="del_item_from_sequence"
               c:identifier="gda_server_operation_del_item_from_sequence">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the specified node has been removed from the sequence</doc>
+          <doc xml:space="preserve">TRUE if the specified node has been removed from the sequence</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="item_path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the path to the sequence's item to remove (like "/SEQ_NAME/5" for 
instance)</doc>
+            <doc xml:space="preserve">the path to the sequence's item to remove (like "/SEQ_NAME/5" for 
instance)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -14951,82 +15794,85 @@ table in an opened connection.</doc>
       <method name="get_node_info"
               c:identifier="gda_server_operation_get_node_info"
               introspectable="0">
-        <doc xml:whitespace="preserve">Get information about the node identified by @path. The returned 
#GdaServerOperationNode structure can be 
+        <doc xml:space="preserve">Get information about the node identified by @path. The returned 
#GdaServerOperationNode structure can be
 copied but not modified; it may change or cease to exist if @op changes</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaServerOperationNode structure, or %NULL if the node was not 
found</doc>
-          <type c:type="GdaServerOperationNode*"/>
+          <doc xml:space="preserve">a #GdaServerOperationNode structure, or %NULL if the node was not 
found</doc>
+          <type name="ServerOperationNode" c:type="GdaServerOperationNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path_format" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/") as a format string, 
similar to g_strdup_printf()'s argument</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/") as a format string, 
similar to g_strdup_printf()'s argument</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg2" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">the arguments to insert into the format string</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
       <method name="get_node_parent"
               c:identifier="gda_server_operation_get_node_parent">
-        <doc xml:whitespace="preserve">Get the complete path to the parent of the node defined by @path</doc>
+        <doc xml:space="preserve">Get the complete path to the parent of the node defined by @path</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string or %NULL if the node does not have any parent or does 
not exist.</doc>
+          <doc xml:space="preserve">a new string or %NULL if the node does not have any parent or does not 
exist.</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_node_path_portion"
               c:identifier="gda_server_operation_get_node_path_portion">
-        <doc xml:whitespace="preserve">Get the last part of @path</doc>
+        <doc xml:space="preserve">Get the last part of @path</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_node_type"
               c:identifier="gda_server_operation_get_node_type">
-        <doc xml:whitespace="preserve">Convenience function to get the type of a node.</doc>
+        <doc xml:space="preserve">Convenience function to get the type of a node.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of node, or GDA_SERVER_OPERATION_NODE_UNKNOWN if the node 
was not found</doc>
+          <doc xml:space="preserve">the type of node, or GDA_SERVER_OPERATION_NODE_UNKNOWN if the node was 
not found</doc>
           <type name="ServerOperationNodeType"
                 c:type="GdaServerOperationNodeType"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="status" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a place to store the status of the node, or %NULL</doc>
+          <parameter name="status"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a place to store the status of the node, or %NULL</doc>
             <type name="ServerOperationNodeStatus"
                   c:type="GdaServerOperationNodeStatus*"/>
           </parameter>
@@ -15034,51 +15880,51 @@ copied but not modified; it may change or cease to exist if @op changes</doc>
       </method>
       <method name="get_op_type"
               c:identifier="gda_server_operation_get_op_type">
-        <doc xml:whitespace="preserve">Get the type of operation @op is for</doc>
+        <doc xml:space="preserve">Get the type of operation @op is for</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaServerOperationType enum</doc>
+          <doc xml:space="preserve">a #GdaServerOperationType enum</doc>
           <type name="ServerOperationType" c:type="GdaServerOperationType"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_root_nodes"
               c:identifier="gda_server_operation_get_root_nodes">
-        <doc xml:whitespace="preserve">Get an array of strings containing the paths of nodes situated at the 
root of @op.</doc>
+        <doc xml:space="preserve">Get an array of strings containing the paths of nodes situated at the root 
of @op.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new array, which must be freed with g_strfreev().</doc>
+          <doc xml:space="preserve">a new array, which must be freed with g_strfreev().</doc>
           <array c:type="gchar**">
             <type name="utf8"/>
           </array>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_sequence_item_names"
               c:identifier="gda_server_operation_get_sequence_item_names">
-        <doc xml:whitespace="preserve">Fetch the contents of a sequence. @path can describe either a 
sequence (for example "/SEQNAME") or an item in a sequence
+        <doc xml:space="preserve">Fetch the contents of a sequence. @path can describe either a sequence 
(for example "/SEQNAME") or an item in a sequence
 (for example "/SEQNAME/3")</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a array of strings containing the complete paths of the nodes 
contained at @path (free with g_strfreev())</doc>
+          <doc xml:space="preserve">a array of strings containing the complete paths of the nodes contained 
at @path (free with g_strfreev())</doc>
           <array c:type="gchar**">
             <type name="utf8"/>
           </array>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a sequence node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15086,16 +15932,16 @@ copied but not modified; it may change or cease to exist if @op changes</doc>
       <method name="get_sequence_max_size"
               c:identifier="gda_server_operation_get_sequence_max_size">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the maximum number of items in the sequence at @path, or 0 if @path 
is not a sequence node</doc>
+          <doc xml:space="preserve">the maximum number of items in the sequence at @path, or 0 if @path is 
not a sequence node</doc>
           <type name="guint" c:type="guint"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a sequence node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15103,16 +15949,16 @@ copied but not modified; it may change or cease to exist if @op changes</doc>
       <method name="get_sequence_min_size"
               c:identifier="gda_server_operation_get_sequence_min_size">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the minimum number of items in the sequence at @path, or 0 if @path 
is not a sequence node</doc>
+          <doc xml:space="preserve">the minimum number of items in the sequence at @path, or 0 if @path is 
not a sequence node</doc>
           <type name="guint" c:type="guint"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a sequence node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15120,16 +15966,16 @@ copied but not modified; it may change or cease to exist if @op changes</doc>
       <method name="get_sequence_name"
               c:identifier="gda_server_operation_get_sequence_name">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the sequence at @path</doc>
+          <doc xml:space="preserve">the name of the sequence at @path</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a sequence node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15137,16 +15983,16 @@ copied but not modified; it may change or cease to exist if @op changes</doc>
       <method name="get_sequence_size"
               c:identifier="gda_server_operation_get_sequence_size">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of items in the sequence at @path, or 0 if @path is not 
a sequence node</doc>
+          <doc xml:space="preserve">the number of items in the sequence at @path, or 0 if @path is not a 
sequence node</doc>
           <type name="guint" c:type="guint"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a sequence node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15156,34 +16002,42 @@ copied but not modified; it may change or cease to exist if @op changes</doc>
               shadowed-by="get_sql_identifier_at_path"
               version="4.0.3"
               introspectable="0">
-        <doc xml:whitespace="preserve">This method is similar to gda_server_operation_get_value_at(), but 
for SQL identifiers: a new string
+        <doc xml:space="preserve">This method is similar to gda_server_operation_get_value_at(), but for SQL 
identifiers: a new string
 is returned instead of a #GValue. Also the returned string is assumed to represents an SQL identifier
 and will correctly be quoted to be used with @cnc, or @prov if @cnc is %NULL (a generic quoting rule
 will be applied if both are %NULL).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if the value is undefined or if the @path is 
not defined or @path does not hold any value, or if the value held is not a string (in that last case a 
warning is shown).</doc>
+          <doc xml:space="preserve">a new string, or %NULL if the value is undefined or
+if the @path is not defined or @path does not hold any value, or if the value held is not a string
+(in that last case a warning is shown).</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
-          <parameter name="prov" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaServerProvider, or %NULL</doc>
+          <parameter name="prov"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaServerProvider, or %NULL</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </parameter>
           <parameter name="path_format" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg4" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">arguments to use with @path_format to make a complete path</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -15191,29 +16045,37 @@ will be applied if both are %NULL).</doc>
               c:identifier="gda_server_operation_get_sql_identifier_at_path"
               shadows="get_sql_identifier_at"
               version="4.2.6">
-        <doc xml:whitespace="preserve">This method is similar to gda_server_operation_get_value_at(), but 
for SQL identifiers: a new string
+        <doc xml:space="preserve">This method is similar to gda_server_operation_get_value_at(), but for SQL 
identifiers: a new string
 is returned instead of a #GValue. Also the returned string is assumed to represents an SQL identifier
 and will correctly be quoted to be used with @cnc, or @prov if @cnc is %NULL (a generic quoting rule
 will be applied if both are %NULL).</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if the value is undefined or if the @path is 
not defined or @path does not hold any value, or if the value held is not a string (in that last case a 
warning is shown).</doc>
+          <doc xml:space="preserve">a new string, or %NULL if the value is undefined or
+if the @path is not defined or @path does not hold any value, or if the value held is not a string
+(in that last case a warning is shown).</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
-          <parameter name="prov" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaServerProvider, or %NULL</doc>
+          <parameter name="prov"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaServerProvider, or %NULL</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15222,24 +16084,25 @@ will be applied if both are %NULL).</doc>
               c:identifier="gda_server_operation_get_value_at"
               shadowed-by="get_value_at_path"
               introspectable="0">
-        <doc xml:whitespace="preserve">Get the value for the node at the path formed using @path_format and 
... (the rules are the same as
+        <doc xml:space="preserve">Get the value for the node at the path formed using @path_format and ... 
(the rules are the same as
 for g_strdup_printf())</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a constant #GValue if a value has been defined, or %NULL if the 
value is undefined or if the @path is not defined or @path does not hold any value.</doc>
+          <doc xml:space="preserve">a constant #GValue if a value has been defined, or %NULL if the value is 
undefined or
+if the @path is not defined or @path does not hold any value.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path_format" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg2" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">arguments to use with @path_format to make a complete path</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -15247,18 +16110,18 @@ for g_strdup_printf())</doc>
               c:identifier="gda_server_operation_get_value_at_path"
               shadows="get_value_at"
               version="4.2.6">
-        <doc xml:whitespace="preserve">Get the value for the node at the @path path</doc>
+        <doc xml:space="preserve">Get the value for the node at the @path path</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a constant #GValue if a value has been defined, or %NULL if the 
value is undefined or if the @path is not defined or @path does not hold any value.</doc>
+          <doc xml:space="preserve">a constant #GValue if a value has been defined, or %NULL if the value is 
undefined or if the @path is not defined or @path does not hold any value.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15266,21 +16129,24 @@ for g_strdup_printf())</doc>
       <method name="is_valid"
               c:identifier="gda_server_operation_is_valid"
               throws="1">
-        <doc xml:whitespace="preserve">Tells if all the required values in @op have been defined.
+        <doc xml:space="preserve">Tells if all the required values in @op have been defined.
 
-if @xml_file is not %NULL, the validity of @op is tested against that specification, 
+if @xml_file is not %NULL, the validity of @op is tested against that specification,
 and not against the current @op's specification.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @op is valid</doc>
+          <doc xml:space="preserve">%TRUE if @op is valid</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation widget</doc>
+            <doc xml:space="preserve">a #GdaServerOperation widget</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
-          <parameter name="xml_file" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an XML specification file (see gda_server_operation_new()) or 
%NULL</doc>
+          <parameter name="xml_file"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an XML specification file (see gda_server_operation_new()) or 
%NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15288,19 +16154,19 @@ and not against the current @op's specification.</doc>
       <method name="load_data_from_xml"
               c:identifier="gda_server_operation_load_data_from_xml"
               throws="1">
-        <doc xml:whitespace="preserve">Loads the contents of @node into @op. The XML tree passed through the 
@node
+        <doc xml:space="preserve">Loads the contents of @node into @op. The XML tree passed through the @node
 argument must correspond to an XML tree saved using gda_server_operation_save_data_to_xml().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #xmlNodePtr</doc>
+            <doc xml:space="preserve">a #xmlNodePtr</doc>
             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
           </parameter>
         </parameters>
@@ -15309,19 +16175,22 @@ argument must correspond to an XML tree saved using gda_server_operation_save_da
               c:identifier="gda_server_operation_perform_create_database"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new database using the specifications in @op. @op can be 
obtained using
+        <doc xml:space="preserve">Creates a new database using the specifications in @op. @op can be 
obtained using
 gda_server_provider_create_operation(), or gda_server_operation_prepare_create_database().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred and the database has been created, FALSE 
otherwise</doc>
+          <doc xml:space="preserve">TRUE if no error occurred and the database has been created, FALSE 
otherwise</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object obtained using 
gda_server_operation_prepare_create_database()</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object obtained using 
gda_server_operation_prepare_create_database()</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
-          <parameter name="provider" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the database provider to use, or %NULL if @op has been created 
using gda_server_operation_prepare_create_database()</doc>
+          <parameter name="provider"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the database provider to use, or %NULL if @op has been created using 
gda_server_operation_prepare_create_database()</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15330,16 +16199,16 @@ gda_server_provider_create_operation(), or gda_server_operation_prepare_create_d
               c:identifier="gda_server_operation_perform_create_table"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">Performs a prepared #GdaServerOperation to create a table. This could 
perform
+        <doc xml:space="preserve">Performs a prepared #GdaServerOperation to create a table. This could 
perform
 an operation created by #gda_server_operation_prepare_create_table or any other using the
 the #GdaServerOperation API.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the table was created; FALSE and set @error otherwise</doc>
+          <doc xml:space="preserve">TRUE if the table was created; FALSE and set @error otherwise</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a valid #GdaServerOperation</doc>
+            <doc xml:space="preserve">a valid #GdaServerOperation</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
         </parameters>
@@ -15348,19 +16217,22 @@ the #GdaServerOperation API.</doc>
               c:identifier="gda_server_operation_perform_drop_database"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">Destroys an existing database using the specifications in @op. @op 
can be obtained using
+        <doc xml:space="preserve">Destroys an existing database using the specifications in @op. @op can be 
obtained using
 gda_server_provider_create_operation(), or gda_server_operation_prepare_drop_database().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred and the database has been destroyed</doc>
+          <doc xml:space="preserve">TRUE if no error occurred and the database has been destroyed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object obtained using 
gda_server_operation_prepare_drop_database()</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object obtained using 
gda_server_operation_prepare_drop_database()</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
-          <parameter name="provider" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the database provider to use, or %NULL if @op has been created 
using gda_server_operation_prepare_drop_database()</doc>
+          <parameter name="provider"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the database provider to use, or %NULL if @op has been created using 
gda_server_operation_prepare_drop_database()</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15369,14 +16241,14 @@ gda_server_provider_create_operation(), or gda_server_operation_prepare_drop_dat
               c:identifier="gda_server_operation_perform_drop_table"
               version="4.2.3"
               throws="1">
-        <doc xml:whitespace="preserve">This is just a convenient function to perform a drop a table 
operation.</doc>
+        <doc xml:space="preserve">This is just a convenient function to perform a drop a table 
operation.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the table was dropped</doc>
+          <doc xml:space="preserve">TRUE if the table was dropped</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
         </parameters>
@@ -15385,16 +16257,16 @@ gda_server_provider_create_operation(), or gda_server_operation_prepare_drop_dat
               c:identifier="gda_server_operation_save_data_to_xml"
               introspectable="0"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new #xmlNodePtr tree which can be used to save the #op 
object. This
+        <doc xml:space="preserve">Creates a new #xmlNodePtr tree which can be used to save the #op object. 
This
 XML structure can then be saved to disk if necessary. Use xmlFreeNode to free
 the associated memory when not needed anymore.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #xmlNodePtr structure, or %NULL</doc>
+          <doc xml:space="preserve">a new #xmlNodePtr structure, or %NULL</doc>
           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
         </parameters>
@@ -15403,11 +16275,11 @@ the associated memory when not needed anymore.</doc>
               c:identifier="gda_server_operation_set_value_at"
               shadowed-by="set_value_at_path"
               introspectable="0">
-        <doc xml:whitespace="preserve">Set the value for the node at the path formed using @path_format and 
the ... ellipse (the rules are the same as
-for g_strdup_printf()). 
+        <doc xml:space="preserve">Set the value for the node at the path formed using @path_format and the 
... ellipse (the rules are the same as
+for g_strdup_printf()).
 
 Note that trying to set a value for a path which is not used by the current
-provider, such as "/TABLE_OPTIONS_P/TABLE_ENGINE" for a PostgreSQL connection (this option is only supported 
for MySQL), 
+provider, such as "/TABLE_OPTIONS_P/TABLE_ENGINE" for a PostgreSQL connection (this option is only supported 
for MySQL),
 will &lt;emphasis&gt;not&lt;/emphasis&gt; generate
 any error; this allows one to give values to a superset of the parameters and thus use the same code for 
several providers.
 
@@ -15417,7 +16289,7 @@ Here are the possible formats of @path_format:
  &lt;listitem&gt;&lt;para&gt;If the path corresponds to a sequence item like for example 
"/SEQUENCE_NAME/5/NAME" for
     the "NAME" value of the 6th item of the "SEQUENCE_NAME" sequence then:
     &lt;itemizedlist&gt;
-       &lt;listitem&gt;&lt;para&gt;if the sequence already has 6 or more items, then the value is just set 
to the corresponding 
+       &lt;listitem&gt;&lt;para&gt;if the sequence already has 6 or more items, then the value is just set 
to the corresponding
           value in the 6th item of the sequence&lt;/para&gt;&lt;/listitem&gt;
        &lt;listitem&gt;&lt;para&gt;if the sequence has less then 6 items, then items are added up to the 6th 
one before setting
           the value to the corresponding in the 6th item of the sequence&lt;/para&gt;&lt;/listitem&gt;
@@ -15433,29 +16305,32 @@ Here are the possible formats of @path_format:
  &lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a string</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="error" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a place to store errors or %NULL</doc>
+            <doc xml:space="preserve">a place to store errors or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
           <parameter name="path_format" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg4" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">arguments to use with @path_format to make a complete path</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -15464,11 +16339,11 @@ Here are the possible formats of @path_format:
               shadows="set_value_at"
               version="4.2.6"
               throws="1">
-        <doc xml:whitespace="preserve">Set the value for the node at the path formed using @path_format and 
the ... ellipse (the rules are the same as
-for g_strdup_printf()). 
+        <doc xml:space="preserve">Set the value for the node at the path formed using @path_format and the 
... ellipse (the rules are the same as
+for g_strdup_printf()).
 
 Note that trying to set a value for a path which is not used by the current
-provider, such as "/TABLE_OPTIONS_P/TABLE_ENGINE" for a PostgreSQL connection (this option is only supported 
for MySQL), 
+provider, such as "/TABLE_OPTIONS_P/TABLE_ENGINE" for a PostgreSQL connection (this option is only supported 
for MySQL),
 will &lt;emphasis&gt;not&lt;/emphasis&gt; generate
 any error; this allows one to give values to a superset of the parameters and thus use the same code for 
several providers.
 
@@ -15478,7 +16353,7 @@ Here are the possible formats of @path_format:
  &lt;listitem&gt;&lt;para&gt;If the path corresponds to a sequence item like for example 
"/SEQUENCE_NAME/5/NAME" for
     the "NAME" value of the 6th item of the "SEQUENCE_NAME" sequence then:
     &lt;itemizedlist&gt;
-       &lt;listitem&gt;&lt;para&gt;if the sequence already has 6 or more items, then the value is just set 
to the corresponding 
+       &lt;listitem&gt;&lt;para&gt;if the sequence already has 6 or more items, then the value is just set 
to the corresponding
           value in the 6th item of the sequence&lt;/para&gt;&lt;/listitem&gt;
        &lt;listitem&gt;&lt;para&gt;if the sequence has less then 6 items, then items are added up to the 6th 
one before setting
           the value to the corresponding in the 6th item of the sequence&lt;/para&gt;&lt;/listitem&gt;
@@ -15494,20 +16369,23 @@ Here are the possible formats of @path_format:
  &lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </instance-parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a string</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+            <doc xml:space="preserve">a complete path to a node (starting with "/")</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15545,33 +16423,33 @@ Here are the possible formats of @path_format:
               c:type="GdaServerOperationPrivate*"/>
       </field>
       <glib:signal name="sequence-item-added" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a new sequence item (from a sequence template) 
has been added</doc>
+        <doc xml:space="preserve">Gets emitted whenever a new sequence item (from a sequence template) has 
been added</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="seq_path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the path to the new sequence item</doc>
+            <doc xml:space="preserve">the path to the new sequence item</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
           <parameter name="item_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index (starting from 0) of the new sequence item in the 
sequence</doc>
+            <doc xml:space="preserve">the index (starting from 0) of the new sequence item in the 
sequence</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="sequence-item-remove" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever a sequence item is about to be removed</doc>
+        <doc xml:space="preserve">Gets emitted whenever a sequence item is about to be removed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="seq_path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the path to the sequence item to be removed</doc>
+            <doc xml:space="preserve">the path to the sequence item to be removed</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
           <parameter name="item_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index (starting from 0) of the sequence item in the 
sequence</doc>
+            <doc xml:space="preserve">the index (starting from 0) of the sequence item in the sequence</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -15693,6 +16571,31 @@ Here are the possible formats of @path_format:
               c:identifier="GDA_SERVER_OPERATION_XML_ERROR">
       </member>
     </enumeration>
+    <record name="ServerOperationNode" c:type="GdaServerOperationNode">
+      <field name="type" writable="1">
+        <type name="ServerOperationNodeType"
+              c:type="GdaServerOperationNodeType"/>
+      </field>
+      <field name="status" writable="1">
+        <type name="ServerOperationNodeStatus"
+              c:type="GdaServerOperationNodeStatus"/>
+      </field>
+      <field name="plist" writable="1">
+        <type name="Set" c:type="GdaSet*"/>
+      </field>
+      <field name="model" writable="1">
+        <type name="DataModel" c:type="GdaDataModel*"/>
+      </field>
+      <field name="column" writable="1">
+        <type name="Column" c:type="GdaColumn*"/>
+      </field>
+      <field name="param" writable="1">
+        <type name="Holder" c:type="GdaHolder*"/>
+      </field>
+      <field name="priv" writable="1">
+        <type name="gpointer" c:type="gpointer"/>
+      </field>
+    </record>
     <enumeration name="ServerOperationNodeStatus"
                  c:type="GdaServerOperationNodeStatus">
       <member name="optional"
@@ -15827,24 +16730,24 @@ Here are the possible formats of @path_format:
       </function>
       <function name="load_file_contents"
                 c:identifier="gda_server_provider_load_file_contents">
-        <doc xml:whitespace="preserve">Loads and returns the contents of @filename, which is searched in 
several places
+        <doc xml:space="preserve">Loads and returns the contents of @filename, which is searched in several 
places
 This function should only be used by database provider's
 implementations</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string containing @filename's contents, or %NULL if not found 
or if an error occurred</doc>
+          <doc xml:space="preserve">a new string containing @filename's contents, or %NULL if not found or 
if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <parameter name="inst_dir" transfer-ownership="none">
-            <doc xml:whitespace="preserve">directory where the database provider has been installed</doc>
+            <doc xml:space="preserve">directory where the database provider has been installed</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="data_dir" transfer-ownership="none">
-            <doc xml:whitespace="preserve">DATA directory to look for ($prefix/share)</doc>
+            <doc xml:space="preserve">DATA directory to look for ($prefix/share)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the file to load</doc>
+            <doc xml:space="preserve">name of the file to load</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -15943,50 +16846,61 @@ implementations</doc>
       <virtual-method name="create_operation"
                       invoker="create_operation"
                       throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which can be modified in 
order to perform the @type type of
+        <doc xml:space="preserve">Creates a new #GdaServerOperation object which can be modified in order to 
perform the @type type of
 action. The @options can contain:
 &lt;itemizedlist&gt;
  &lt;listitem&gt;named values which ID is a path in the resulting GdaServerOperation object, to initialize 
some value&lt;/listitem&gt;
  &lt;listitem&gt;named values which may change the contents of the GdaServerOperation, see &lt;link 
linkend="gda-server-op-information-std"&gt;this section&lt;/link&gt; for more information&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the provider does not 
support the @type type of operation or if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaServerOperation object, or %NULL in the provider does not 
support the @type type of operation or if an error occurred</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which will be used to perform an action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of operation requested</doc>
+            <doc xml:space="preserve">the type of operation requested</doc>
             <type name="ServerOperationType" c:type="GdaServerOperationType"/>
           </parameter>
-          <parameter name="options" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a list of parameters or %NULL</doc>
+          <parameter name="options"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a list of parameters or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="create_parser" invoker="create_parser">
-        <doc xml:whitespace="preserve">Creates a new #GdaSqlParser object which is adapted to @provider (and 
possibly depending on
+        <doc xml:space="preserve">Creates a new #GdaSqlParser object which is adapted to @provider (and 
possibly depending on
 @cnc for the actual database version).
 
 If @prov does not have its own parser, then %NULL is returned, and a general SQL parser can be obtained
 using gda_sql_parser_new().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL.</doc>
+          <doc xml:space="preserve">a new #GdaSqlParser object, or %NULL.</doc>
           <type name="SqlParser" c:type="GdaSqlParser*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider provider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -16008,22 +16922,26 @@ using gda_sql_parser_new().</doc>
         </parameters>
       </virtual-method>
       <virtual-method name="escape_string" invoker="escape_string">
-        <doc xml:whitespace="preserve">Escapes @str for use within an SQL command (to avoid SQL injection 
attacks). Note that the returned value still needs
+        <doc xml:space="preserve">Escapes @str for use within an SQL command (to avoid SQL injection 
attacks). Note that the returned value still needs
 to be enclosed in single quotes before being used in an SQL statement.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string suitable to use in SQL statements</doc>
+          <doc xml:space="preserve">a new string suitable to use in SQL statements</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string to escape</doc>
+            <doc xml:space="preserve">a string to escape</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -16077,41 +16995,44 @@ to be enclosed in single quotes before being used in an SQL statement.</doc>
         </parameters>
       </virtual-method>
       <virtual-method name="get_name" invoker="get_name">
-        <doc xml:whitespace="preserve">Get the name (identifier) of the provider</doc>
+        <doc xml:space="preserve">Get the name (identifier) of the provider</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string containing the provider's name</doc>
+          <doc xml:space="preserve">a string containing the provider's name</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider object.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_server_version" invoker="get_server_version">
-        <doc xml:whitespace="preserve">Get the version of the database to which the connection is 
opened.</doc>
+        <doc xml:space="preserve">Get the version of the database to which the connection is opened.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a (read only) string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a (read only) string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider object.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="get_version" invoker="get_version">
-        <doc xml:whitespace="preserve">Get the version of the provider.</doc>
+        <doc xml:space="preserve">Get the version of the provider.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string containing the version identification.</doc>
+          <doc xml:space="preserve">a string containing the version identification.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider object.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
         </parameters>
@@ -16222,25 +17143,29 @@ to be enclosed in single quotes before being used in an SQL statement.</doc>
       <virtual-method name="render_operation"
                       invoker="render_operation"
                       throws="1">
-        <doc xml:whitespace="preserve">Creates an SQL statement (possibly using some specific extensions of 
the DBMS) corresponding to the
+        <doc xml:space="preserve">Creates an SQL statement (possibly using some specific extensions of the 
DBMS) corresponding to the
 @op operation. Note that the returned string may actually contain more than one SQL statement.
 
 This function's purpose is mainly informative to get the actual SQL code which would be executed to perform
 the operation; to actually perform the operation, use gda_server_provider_perform_operation().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred or operation cannot be 
rendered as SQL.</doc>
+          <doc xml:space="preserve">a new string, or %NULL if an error occurred or operation cannot be 
rendered as SQL.</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which will be used to render the action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which will be used to render the action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </parameter>
         </parameters>
@@ -16378,66 +17303,81 @@ the operation; to actually perform the operation, use gda_server_provider_perfor
         </parameters>
       </virtual-method>
       <virtual-method name="supports_feature" invoker="supports_feature">
-        <doc xml:whitespace="preserve">Tests if a feature is supported</doc>
+        <doc xml:space="preserve">Tests if a feature is supported</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @feature is supported</doc>
+          <doc xml:space="preserve">%TRUE if @feature is supported</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="feature" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#GdaConnectionFeature feature to test</doc>
+            <doc xml:space="preserve">#GdaConnectionFeature feature to test</doc>
             <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="supports_operation" invoker="supports_operation">
-        <doc xml:whitespace="preserve">Tells if @provider supports the @type of operation on the @cnc 
connection, using the
+        <doc xml:space="preserve">Tells if @provider supports the @type of operation on the @cnc connection, 
using the
 (optional) @options parameters.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the operation is supported</doc>
+          <doc xml:space="preserve">%TRUE if the operation is supported</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which would be used to perform an action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which would be used to perform an action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of operation requested</doc>
+            <doc xml:space="preserve">the type of operation requested</doc>
             <type name="ServerOperationType" c:type="GdaServerOperationType"/>
           </parameter>
-          <parameter name="options" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a list of named parameters, or %NULL</doc>
+          <parameter name="options"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a list of named parameters, or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </virtual-method>
       <virtual-method name="unescape_string" invoker="unescape_string">
-        <doc xml:whitespace="preserve">Unescapes @str for use within an SQL command. This is the exact 
opposite of gda_server_provider_escape_string().</doc>
+        <doc xml:space="preserve">Unescapes @str for use within an SQL command. This is the exact opposite 
of gda_server_provider_escape_string().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string</doc>
+          <doc xml:space="preserve">a new string</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string to escape</doc>
+            <doc xml:space="preserve">a string to escape</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -16445,243 +17385,268 @@ the operation; to actually perform the operation, use gda_server_provider_perfor
       <method name="create_operation"
               c:identifier="gda_server_provider_create_operation"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which can be modified in 
order to perform the @type type of
+        <doc xml:space="preserve">Creates a new #GdaServerOperation object which can be modified in order to 
perform the @type type of
 action. The @options can contain:
 &lt;itemizedlist&gt;
  &lt;listitem&gt;named values which ID is a path in the resulting GdaServerOperation object, to initialize 
some value&lt;/listitem&gt;
  &lt;listitem&gt;named values which may change the contents of the GdaServerOperation, see &lt;link 
linkend="gda-server-op-information-std"&gt;this section&lt;/link&gt; for more information&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the provider does not 
support the @type type of operation or if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaServerOperation object, or %NULL in the provider does not 
support the @type type of operation or if an error occurred</doc>
           <type name="ServerOperation" c:type="GdaServerOperation*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which will be used to perform an action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of operation requested</doc>
+            <doc xml:space="preserve">the type of operation requested</doc>
             <type name="ServerOperationType" c:type="GdaServerOperationType"/>
           </parameter>
-          <parameter name="options" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a list of parameters or %NULL</doc>
+          <parameter name="options"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a list of parameters or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </method>
       <method name="create_parser"
               c:identifier="gda_server_provider_create_parser">
-        <doc xml:whitespace="preserve">Creates a new #GdaSqlParser object which is adapted to @provider (and 
possibly depending on
+        <doc xml:space="preserve">Creates a new #GdaSqlParser object which is adapted to @provider (and 
possibly depending on
 @cnc for the actual database version).
 
 If @prov does not have its own parser, then %NULL is returned, and a general SQL parser can be obtained
 using gda_sql_parser_new().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL.</doc>
+          <doc xml:space="preserve">a new #GdaSqlParser object, or %NULL.</doc>
           <type name="SqlParser" c:type="GdaSqlParser*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider provider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider provider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
       </method>
       <method name="escape_string"
               c:identifier="gda_server_provider_escape_string">
-        <doc xml:whitespace="preserve">Escapes @str for use within an SQL command (to avoid SQL injection 
attacks). Note that the returned value still needs
+        <doc xml:space="preserve">Escapes @str for use within an SQL command (to avoid SQL injection 
attacks). Note that the returned value still needs
 to be enclosed in single quotes before being used in an SQL statement.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string suitable to use in SQL statements</doc>
+          <doc xml:space="preserve">a new string suitable to use in SQL statements</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string to escape</doc>
+            <doc xml:space="preserve">a string to escape</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="find_file" c:identifier="gda_server_provider_find_file">
-        <doc xml:whitespace="preserve">Finds the location of a @filename. This function should only be used 
by database provider's
+        <doc xml:space="preserve">Finds the location of a @filename. This function should only be used by 
database provider's
 implementations</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the complete path to @filename, or %NULL if not found</doc>
+          <doc xml:space="preserve">the complete path to @filename, or %NULL if not found</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="prov" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider</doc>
+            <doc xml:space="preserve">a #GdaServerProvider</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
           <parameter name="inst_dir" transfer-ownership="none">
-            <doc xml:whitespace="preserve">directory where @prov is installed</doc>
+            <doc xml:space="preserve">directory where @prov is installed</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the file to find</doc>
+            <doc xml:space="preserve">name of the file to find</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_data_handler_dbms"
               c:identifier="gda_server_provider_get_data_handler_dbms">
-        <doc xml:whitespace="preserve">Find a #GdaDataHandler object to manipulate data of type @for_type.
+        <doc xml:space="preserve">Find a #GdaDataHandler object to manipulate data of type @for_type.
 
 Note: this function is currently very poorly implemented by database providers.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataHandler, or %NULL if the provider does not know about the 
@for_type type</doc>
+          <doc xml:space="preserve">a #GdaDataHandler, or %NULL if the provider does not know about the 
@for_type type</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="for_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a DBMS type definition</doc>
+            <doc xml:space="preserve">a DBMS type definition</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_data_handler_default"
               c:identifier="gda_server_provider_get_data_handler_default"
-              deprecated="use gda_server_provider_handler_use_default() instead"
+              deprecated="1"
               deprecated-version="5.2">
-        <doc xml:whitespace="preserve">Provides the implementation when the default Libgda's data handlers 
must be used</doc>
+        <doc xml:space="preserve">Provides the implementation when the default Libgda's data handlers must 
be used</doc>
+        <doc-deprecated xml:space="preserve">use gda_server_provider_handler_use_default() 
instead</doc-deprecated>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataHandler, or %NULL</doc>
+          <doc xml:space="preserve">a #GdaDataHandler, or %NULL</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
           <parameter name="dbms_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a DBMS type definition</doc>
+            <doc xml:space="preserve">a DBMS type definition</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_data_handler_g_type"
               c:identifier="gda_server_provider_get_data_handler_g_type">
-        <doc xml:whitespace="preserve">Find a #GdaDataHandler object to manipulate data of type @for_type. 
The returned object must not be modified.</doc>
+        <doc xml:space="preserve">Find a #GdaDataHandler object to manipulate data of type @for_type. The 
returned object must not be modified.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataHandler, or %NULL if the provider does not support the 
requested @for_type data type</doc>
+          <doc xml:space="preserve">a #GdaDataHandler, or %NULL if the provider does not support the 
requested @for_type data type</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="for_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_default_dbms_type"
               c:identifier="gda_server_provider_get_default_dbms_type">
-        <doc xml:whitespace="preserve">Get the name of the most common data type which has @type type.
+        <doc xml:space="preserve">Get the name of the most common data type which has @type type.
 
 The returned value may be %NULL either if the provider does not implement that method, or if
 there is no DBMS data type which could contain data of the @g_type type (for example %NULL may be
 returned if a DBMS has integers only up to 4 bytes and a #G_TYPE_INT64 is requested).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the DBMS type, or %NULL</doc>
+          <doc xml:space="preserve">the name of the DBMS type, or %NULL</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType value type</doc>
+            <doc xml:space="preserve">a #GType value type</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_name" c:identifier="gda_server_provider_get_name">
-        <doc xml:whitespace="preserve">Get the name (identifier) of the provider</doc>
+        <doc xml:space="preserve">Get the name (identifier) of the provider</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string containing the provider's name</doc>
+          <doc xml:space="preserve">a string containing the provider's name</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object.</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_server_version"
               c:identifier="gda_server_provider_get_server_version">
-        <doc xml:whitespace="preserve">Get the version of the database to which the connection is 
opened.</doc>
+        <doc xml:space="preserve">Get the version of the database to which the connection is opened.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a (read only) string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a (read only) string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object.</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_version"
               c:identifier="gda_server_provider_get_version">
-        <doc xml:whitespace="preserve">Get the version of the provider.</doc>
+        <doc xml:space="preserve">Get the version of the provider.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string containing the version identification.</doc>
+          <doc xml:space="preserve">a string containing the version identification.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object.</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
         </parameters>
@@ -16711,27 +17676,33 @@ returned if a DBMS has integers only up to 4 bytes and a #G_TYPE_INT64 is reques
       </method>
       <method name="handler_find"
               c:identifier="gda_server_provider_handler_find">
-        <doc xml:whitespace="preserve">reserved to database provider's implementations: get the 
#GdaDataHandler associated to @prov
-for connection @cnc.</doc>
+        <doc xml:space="preserve">Reserved to database provider's implementations: get the #GdaDataHandler 
associated to @prov
+for connection @cnc. You probably want to use gda_server_provider_get_data_handler_g_type().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaDataHandler, or %NULL if none found</doc>
+          <doc xml:space="preserve">the requested #GdaDataHandler, or %NULL if none found</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
         <parameters>
           <instance-parameter name="prov" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider</doc>
+            <doc xml:space="preserve">a #GdaServerProvider</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="g_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
-          <parameter name="dbms_type" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a database type</doc>
+          <parameter name="dbms_type"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a database type</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -16740,35 +17711,35 @@ for connection @cnc.</doc>
               c:identifier="gda_server_provider_handler_use_default"
               version="5.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Reserved to database provider's implementations. This method defines 
a default data handler for
+        <doc xml:space="preserve">Reserved to database provider's implementations. This method defines a 
default data handler for
 @provider, and returns that #GdaDataHandler.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataHandler, or %NULL</doc>
+          <doc xml:space="preserve">a #GdaDataHandler, or %NULL</doc>
           <type name="DataHandler" c:type="GdaDataHandler*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider</doc>
+            <doc xml:space="preserve">a server provider</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
+            <doc xml:space="preserve">a #GType</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
         </parameters>
       </method>
       <method name="internal_get_parser"
               c:identifier="gda_server_provider_internal_get_parser">
-        <doc xml:whitespace="preserve">This is a factory method to get a unique instance of a #GdaSqlParser 
object
+        <doc xml:space="preserve">This is a factory method to get a unique instance of a #GdaSqlParser object
 for each #GdaServerProvider object
 Don't unref it.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaSqlParser</doc>
+          <doc xml:space="preserve">a #GdaSqlParser</doc>
           <type name="SqlParser" c:type="GdaSqlParser*"/>
         </return-value>
         <parameters>
           <instance-parameter name="prov" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider</doc>
+            <doc xml:space="preserve">a #GdaServerProvider</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
         </parameters>
@@ -16776,23 +17747,26 @@ Don't unref it.</doc>
       <method name="perform_operation"
               c:identifier="gda_server_provider_perform_operation"
               throws="1">
-        <doc xml:whitespace="preserve">Performs the operation described by @op. Note that @op is not 
destroyed by this method
+        <doc xml:space="preserve">Performs the operation described by @op. Note that @op is not destroyed by 
this method
 and can be reused.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform the action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which will be used to perform the action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </parameter>
         </parameters>
@@ -16800,22 +17774,25 @@ and can be reused.</doc>
       <method name="perform_operation_default"
               c:identifier="gda_server_provider_perform_operation_default"
               throws="1">
-        <doc xml:whitespace="preserve">Performs the operation described by @op, using the SQL from the 
rendering of the operation</doc>
+        <doc xml:space="preserve">Performs the operation described by @op, using the SQL from the rendering 
of the operation</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which will be used to perform an action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </parameter>
         </parameters>
@@ -16823,36 +17800,39 @@ and can be reused.</doc>
       <method name="render_operation"
               c:identifier="gda_server_provider_render_operation"
               throws="1">
-        <doc xml:whitespace="preserve">Creates an SQL statement (possibly using some specific extensions of 
the DBMS) corresponding to the
+        <doc xml:space="preserve">Creates an SQL statement (possibly using some specific extensions of the 
DBMS) corresponding to the
 @op operation. Note that the returned string may actually contain more than one SQL statement.
 
 This function's purpose is mainly informative to get the actual SQL code which would be executed to perform
 the operation; to actually perform the operation, use gda_server_provider_perform_operation().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred or operation cannot be 
rendered as SQL.</doc>
+          <doc xml:space="preserve">a new string, or %NULL if an error occurred or operation cannot be 
rendered as SQL.</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which will be used to render the action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which will be used to render the action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+            <doc xml:space="preserve">a #GdaServerOperation object</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </parameter>
         </parameters>
       </method>
       <method name="string_to_value"
               c:identifier="gda_server_provider_string_to_value">
-        <doc xml:whitespace="preserve">Use @provider to create a new #GValue from a single string 
representation. 
+        <doc xml:space="preserve">Use @provider to create a new #GValue from a single string representation.
 
-The @preferred_type can optionally ask @provider to return a #GValue of the requested type 
-(but if such a value can't be created from @string, then %NULL is returned); 
+The @preferred_type can optionally ask @provider to return a #GValue of the requested type
+(but if such a value can't be created from @string, then %NULL is returned);
 pass #G_TYPE_INVALID if any returned type is acceptable.
 
 The returned value is either a new #GValue or %NULL in the following cases:
@@ -16864,121 +17844,142 @@ If @dbms_type is not %NULL, then if will contain a constant string representing
 the database type used for the conversion if the conversion was successfull, or %NULL
 otherwise.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GValue, or %NULL</doc>
+          <doc xml:space="preserve">a new #GValue, or %NULL</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the SQL string to convert to a value</doc>
+            <doc xml:space="preserve">the SQL string to convert to a value</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="preferred_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType, or #G_TYPE_INVALID</doc>
+            <doc xml:space="preserve">a #GType, or #G_TYPE_INVALID</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
-          <parameter name="dbms_type" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">place to get the actual database type used if the conversion 
succeeded, or %NULL</doc>
+          <parameter name="dbms_type"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">place to get the actual database type used if the conversion 
succeeded, or %NULL</doc>
             <type name="utf8" c:type="gchar**"/>
           </parameter>
         </parameters>
       </method>
       <method name="supports_feature"
               c:identifier="gda_server_provider_supports_feature">
-        <doc xml:whitespace="preserve">Tests if a feature is supported</doc>
+        <doc xml:space="preserve">Tests if a feature is supported</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @feature is supported</doc>
+          <doc xml:space="preserve">%TRUE if @feature is supported</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="feature" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#GdaConnectionFeature feature to test</doc>
+            <doc xml:space="preserve">#GdaConnectionFeature feature to test</doc>
             <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
           </parameter>
         </parameters>
       </method>
       <method name="supports_operation"
               c:identifier="gda_server_provider_supports_operation">
-        <doc xml:whitespace="preserve">Tells if @provider supports the @type of operation on the @cnc 
connection, using the
+        <doc xml:space="preserve">Tells if @provider supports the @type of operation on the @cnc connection, 
using the
 (optional) @options parameters.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the operation is supported</doc>
+          <doc xml:space="preserve">%TRUE if the operation is supported</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+            <doc xml:space="preserve">a #GdaServerProvider object</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object which would be used to perform an action, 
or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object which would be used to perform an action, or 
%NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of operation requested</doc>
+            <doc xml:space="preserve">the type of operation requested</doc>
             <type name="ServerOperationType" c:type="GdaServerOperationType"/>
           </parameter>
-          <parameter name="options" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a list of named parameters, or %NULL</doc>
+          <parameter name="options"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a list of named parameters, or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </method>
       <method name="unescape_string"
               c:identifier="gda_server_provider_unescape_string">
-        <doc xml:whitespace="preserve">Unescapes @str for use within an SQL command. This is the exact 
opposite of gda_server_provider_escape_string().</doc>
+        <doc xml:space="preserve">Unescapes @str for use within an SQL command. This is the exact opposite 
of gda_server_provider_escape_string().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string</doc>
+          <doc xml:space="preserve">a new string</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string to escape</doc>
+            <doc xml:space="preserve">a string to escape</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="value_to_sql_string"
               c:identifier="gda_server_provider_value_to_sql_string">
-        <doc xml:whitespace="preserve">Produces a fully quoted and escaped string from a GValue</doc>
+        <doc xml:space="preserve">Produces a fully quoted and escaped string from a GValue</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">escaped and quoted value or NULL if not supported.</doc>
+          <doc xml:space="preserve">escaped and quoted value or NULL if not supported.</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="provider" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a server provider.</doc>
+            <doc xml:space="preserve">a server provider.</doc>
             <type name="ServerProvider" c:type="GdaServerProvider*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="from" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#GValue to convert from</doc>
+            <doc xml:space="preserve">#GValue to convert from</doc>
             <type name="GObject.Value" c:type="GValue*"/>
           </parameter>
         </parameters>
@@ -16992,7 +17993,7 @@ otherwise.</doc>
     </class>
     <callback name="ServerProviderAsyncCallback"
               c:type="GdaServerProviderAsyncCallback">
-      <doc xml:whitespace="preserve">Function to be called by Libgda when the associated asynchronous method 
invoked finishes.</doc>
+      <doc xml:space="preserve">Function to be called by Libgda when the associated asynchronous method 
invoked finishes.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -17029,11 +18030,12 @@ otherwise.</doc>
       <field name="get_name">
         <callback name="get_name">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string containing the provider's name</doc>
+            <doc xml:space="preserve">a string containing the provider's name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider object.</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
           </parameters>
@@ -17042,11 +18044,12 @@ otherwise.</doc>
       <field name="get_version">
         <callback name="get_version">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string containing the version identification.</doc>
+            <doc xml:space="preserve">a string containing the version identification.</doc>
             <type name="utf8" c:type="const gchar*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider object.</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
           </parameters>
@@ -17055,15 +18058,16 @@ otherwise.</doc>
       <field name="get_server_version">
         <callback name="get_server_version">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a (read only) string, or %NULL if an error occurred</doc>
+            <doc xml:space="preserve">a (read only) string, or %NULL if an error occurred</doc>
             <type name="utf8" c:type="const gchar*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider object.</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
             <parameter name="cnc" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+              <doc xml:space="preserve">a #GdaConnection object</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
           </parameters>
@@ -17072,19 +18076,23 @@ otherwise.</doc>
       <field name="supports_feature">
         <callback name="supports_feature">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if @feature is supported</doc>
+            <doc xml:space="preserve">%TRUE if @feature is supported</doc>
             <type name="gboolean" c:type="gboolean"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider object</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
-            <parameter name="cnc" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+            <parameter name="cnc"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
             <parameter name="feature" transfer-ownership="none">
-              <doc xml:whitespace="preserve">#GdaConnectionFeature feature to test</doc>
+              <doc xml:space="preserve">#GdaConnectionFeature feature to test</doc>
               <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
             </parameter>
           </parameters>
@@ -17132,19 +18140,23 @@ otherwise.</doc>
       <field name="escape_string">
         <callback name="escape_string">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a new string suitable to use in SQL statements</doc>
+            <doc xml:space="preserve">a new string suitable to use in SQL statements</doc>
             <type name="utf8" c:type="gchar*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a server provider.</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
-            <parameter name="cnc" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+            <parameter name="cnc"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
             <parameter name="str" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a string to escape</doc>
+              <doc xml:space="preserve">a string to escape</doc>
               <type name="utf8" c:type="const gchar*"/>
             </parameter>
           </parameters>
@@ -17153,19 +18165,23 @@ otherwise.</doc>
       <field name="unescape_string">
         <callback name="unescape_string">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a new string</doc>
+            <doc xml:space="preserve">a new string</doc>
             <type name="utf8" c:type="gchar*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a server provider.</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
-            <parameter name="cnc" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+            <parameter name="cnc"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
             <parameter name="str" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a string to escape</doc>
+              <doc xml:space="preserve">a string to escape</doc>
               <type name="utf8" c:type="const gchar*"/>
             </parameter>
           </parameters>
@@ -17235,24 +18251,31 @@ otherwise.</doc>
       <field name="supports_operation">
         <callback name="supports_operation">
           <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the operation is supported</doc>
+            <doc xml:space="preserve">%TRUE if the operation is supported</doc>
             <type name="gboolean" c:type="gboolean"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider object</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
-            <parameter name="cnc" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a #GdaConnection object which would be used to perform an 
action, or %NULL</doc>
+            <parameter name="cnc"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a #GdaConnection object which would be used to perform an action, or 
%NULL</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
             <parameter name="type" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the type of operation requested</doc>
+              <doc xml:space="preserve">the type of operation requested</doc>
               <type name="ServerOperationType"
                     c:type="GdaServerOperationType"/>
             </parameter>
-            <parameter name="options" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a list of named parameters, or %NULL</doc>
+            <parameter name="options"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a list of named parameters, or %NULL</doc>
               <type name="Set" c:type="GdaSet*"/>
             </parameter>
           </parameters>
@@ -17261,24 +18284,31 @@ otherwise.</doc>
       <field name="create_operation">
         <callback name="create_operation" throws="1">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the provider does 
not support the @type type of operation or if an error occurred</doc>
+            <doc xml:space="preserve">a new #GdaServerOperation object, or %NULL in the provider does not 
support the @type type of operation or if an error occurred</doc>
             <type name="ServerOperation" c:type="GdaServerOperation*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider object</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
-            <parameter name="cnc" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an 
action, or %NULL</doc>
+            <parameter name="cnc"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a #GdaConnection object which will be used to perform an action, or 
%NULL</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
             <parameter name="type" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the type of operation requested</doc>
+              <doc xml:space="preserve">the type of operation requested</doc>
               <type name="ServerOperationType"
                     c:type="GdaServerOperationType"/>
             </parameter>
-            <parameter name="options" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a list of parameters or %NULL</doc>
+            <parameter name="options"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a list of parameters or %NULL</doc>
               <type name="Set" c:type="GdaSet*"/>
             </parameter>
           </parameters>
@@ -17287,19 +18317,23 @@ otherwise.</doc>
       <field name="render_operation">
         <callback name="render_operation" throws="1">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred or operation cannot 
be rendered as SQL.</doc>
+            <doc xml:space="preserve">a new string, or %NULL if an error occurred or operation cannot be 
rendered as SQL.</doc>
             <type name="utf8" c:type="gchar*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider object</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
-            <parameter name="cnc" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a #GdaConnection object which will be used to render the 
action, or %NULL</doc>
+            <parameter name="cnc"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a #GdaConnection object which will be used to render the action, or 
%NULL</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
             <parameter name="op" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+              <doc xml:space="preserve">a #GdaServerOperation object</doc>
               <type name="ServerOperation" c:type="GdaServerOperation*"/>
             </parameter>
           </parameters>
@@ -17448,15 +18482,19 @@ otherwise.</doc>
       <field name="create_parser">
         <callback name="create_parser">
           <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL.</doc>
+            <doc xml:space="preserve">a new #GdaSqlParser object, or %NULL.</doc>
             <type name="SqlParser" c:type="GdaSqlParser*"/>
           </return-value>
           <parameters>
             <parameter name="provider" transfer-ownership="none">
+              <doc xml:space="preserve">a #GdaServerProvider provider object</doc>
               <type name="ServerProvider" c:type="GdaServerProvider*"/>
             </parameter>
-            <parameter name="cnc" transfer-ownership="none" allow-none="1">
-              <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+            <parameter name="cnc"
+                       transfer-ownership="none"
+                       nullable="1"
+                       allow-none="1">
+              <doc xml:space="preserve">a #GdaConnection, or %NULL</doc>
               <type name="Connection" c:type="GdaConnection*"/>
             </parameter>
           </parameters>
@@ -17764,7 +18802,7 @@ otherwise.</doc>
     </enumeration>
     <callback name="ServerProviderExecCallback"
               c:type="GdaServerProviderExecCallback">
-      <doc xml:whitespace="preserve">Function to be called by Libgda when the associated asynchronous method 
invoked finishes</doc>
+      <doc xml:space="preserve">Function to be called by Libgda when the associated asynchronous method 
invoked finishes</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -17806,7 +18844,7 @@ otherwise.</doc>
             disguised="1">
     </record>
     <record name="ServerProviderMeta" c:type="GdaServerProviderMeta">
-      <doc xml:whitespace="preserve">These methods must be implemented by providers to update a connection's 
associated metadata (in a 
+      <doc xml:space="preserve">These methods must be implemented by providers to update a connection's 
associated metadata (in a
 #GdaMetaStore object), see the &lt;link linkend="prov-metadata"&gt;Virtual methods for providers/Methods - 
metadata&lt;/link&gt;
 for more information.</doc>
       <field name="_info" introspectable="0">
@@ -19255,16 +20293,16 @@ for more information.</doc>
            glib:get-type="gda_set_get_type"
            glib:type-struct="SetClass">
       <constructor name="new" c:identifier="gda_set_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaSet object, and populates it with the list given as 
argument.
+        <doc xml:space="preserve">Creates a new #GdaSet object, and populates it with the list given as 
argument.
 The list can then be freed as it is copied. All the value holders in @holders are referenced counted
 and modified, so they should not be used anymore afterwards.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+          <doc xml:space="preserve">a new #GdaSet object</doc>
           <type name="Set" c:type="GdaSet*"/>
         </return-value>
         <parameters>
           <parameter name="holders" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of #GdaHolder objects</doc>
+            <doc xml:space="preserve">a list of #GdaHolder objects</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="Holder"/>
             </type>
@@ -19274,15 +20312,15 @@ and modified, so they should not be used anymore afterwards.</doc>
       <constructor name="new_from_spec_node"
                    c:identifier="gda_set_new_from_spec_node"
                    throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaSet object from the @xml_spec
+        <doc xml:space="preserve">Creates a new #GdaSet object from the @xml_spec
 specifications</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new object, or %NULL if an error occurred</doc>
           <type name="Set" c:type="GdaSet*"/>
         </return-value>
         <parameters>
           <parameter name="xml_spec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #xmlNodePtr for a &amp;lt;parameters&amp;gt; tag</doc>
+            <doc xml:space="preserve">a #xmlNodePtr for a &amp;lt;parameters&amp;gt; tag</doc>
             <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
           </parameter>
         </parameters>
@@ -19290,15 +20328,15 @@ specifications</doc>
       <constructor name="new_from_spec_string"
                    c:identifier="gda_set_new_from_spec_string"
                    throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaSet object from the @xml_spec
+        <doc xml:space="preserve">Creates a new #GdaSet object from the @xml_spec
 specifications</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new object, or %NULL if an error occurred</doc>
           <type name="Set" c:type="GdaSet*"/>
         </return-value>
         <parameters>
           <parameter name="xml_spec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string</doc>
+            <doc xml:space="preserve">a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -19306,40 +20344,40 @@ specifications</doc>
       <constructor name="new_inline"
                    c:identifier="gda_set_new_inline"
                    introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GdaSet containing holders defined by each triplet in 
...
-For each triplet (id, Glib type and value), 
+        <doc xml:space="preserve">Creates a new #GdaSet containing holders defined by each triplet in ...
+For each triplet (id, Glib type and value),
 the value must be of the correct type (gchar * if type is G_STRING, ...)
 
 Note that this function is a utility function and that only a limited set of types are supported. Trying
 to use an unsupported type will result in a warning, and the returned value holder holding a safe default
 value.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+          <doc xml:space="preserve">a new #GdaSet object</doc>
           <type name="Set" c:type="GdaSet*"/>
         </return-value>
         <parameters>
           <parameter name="nb" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of value holders which will be contained in the new 
#GdaSet</doc>
+            <doc xml:space="preserve">the number of value holders which will be contained in the new 
#GdaSet</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="arg1" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a serie of a (const gchar*) id, (GType) type, and value</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </constructor>
       <constructor name="new_read_only"
                    c:identifier="gda_set_new_read_only"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaSet like gda_set_new(), but does not allow 
modifications to any of the #GdaHolder
+        <doc xml:space="preserve">Creates a new #GdaSet like gda_set_new(), but does not allow modifications 
to any of the #GdaHolder
 object in @holders. This function is used for Libgda's database providers' implementation.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+          <doc xml:space="preserve">a new #GdaSet object</doc>
           <type name="Set" c:type="GdaSet*"/>
         </return-value>
         <parameters>
           <parameter name="holders" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of #GdaHolder objects</doc>
+            <doc xml:space="preserve">a list of #GdaHolder objects</doc>
             <type name="GLib.SList" c:type="GSList*">
               <type name="Holder"/>
             </type>
@@ -19446,104 +20484,105 @@ object in @holders. This function is used for Libgda's database providers' imple
         </parameters>
       </virtual-method>
       <method name="add_holder" c:identifier="gda_set_add_holder">
-        <doc xml:whitespace="preserve">Adds @holder to the list of holders managed within @set.
+        <doc xml:space="preserve">Adds @holder to the list of holders managed within @set.
 
 NOTE: if @set already has a #GdaHolder with the same ID as @holder, then @holder
 will not be added to the set (even if @holder's type or value is not the same as the
 one already in @set).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @holder has been added to @set (and FALSE if it has not 
been added because there is another #GdaHolder with the same ID)</doc>
+          <doc xml:space="preserve">TRUE if @holder has been added to @set (and FALSE if it has not been 
added because there is another #GdaHolder
+with the same ID)</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
       </method>
       <method name="copy" c:identifier="gda_set_copy">
-        <doc xml:whitespace="preserve">Creates a new #GdaSet object, copy of @set</doc>
+        <doc xml:space="preserve">Creates a new #GdaSet object, copy of @set</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+          <doc xml:space="preserve">a new #GdaSet object</doc>
           <type name="Set" c:type="GdaSet*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="get_group" c:identifier="gda_set_get_group">
-        <doc xml:whitespace="preserve">Finds a #GdaSetGroup which lists a  #GdaSetNode containing @holder,
+        <doc xml:space="preserve">Finds a #GdaSetGroup which lists a  #GdaSetNode containing @holder,
 don't modify the returned structure.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaSetGroup or %NULL</doc>
+          <doc xml:space="preserve">the requested #GdaSetGroup or %NULL</doc>
           <type name="SetGroup" c:type="GdaSetGroup*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_holder" c:identifier="gda_set_get_holder">
-        <doc xml:whitespace="preserve">Finds a #GdaHolder using its ID</doc>
+        <doc xml:space="preserve">Finds a #GdaHolder using its ID</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaHolder or %NULL</doc>
+          <doc xml:space="preserve">the requested #GdaHolder or %NULL</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="holder_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the requested value holder</doc>
+            <doc xml:space="preserve">the ID of the requested value holder</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_holder_value" c:identifier="gda_set_get_holder_value">
-        <doc xml:whitespace="preserve">Get the value of the #GdaHolder which ID is @holder_id</doc>
+        <doc xml:space="preserve">Get the value of the #GdaHolder which ID is @holder_id</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested GValue, or %NULL (see gda_holder_get_value())</doc>
+          <doc xml:space="preserve">the requested GValue, or %NULL (see gda_holder_get_value())</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="holder_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the holder to set the value</doc>
+            <doc xml:space="preserve">the ID of the holder to set the value</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_node" c:identifier="gda_set_get_node">
-        <doc xml:whitespace="preserve">Finds a #GdaSetNode holding information for @holder, don't modify the 
returned structure</doc>
+        <doc xml:space="preserve">Finds a #GdaSetNode holding information for @holder, don't modify the 
returned structure</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaSetNode or %NULL</doc>
+          <doc xml:space="preserve">the requested #GdaSetNode or %NULL</doc>
           <type name="SetNode" c:type="GdaSetNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
@@ -19551,78 +20590,78 @@ don't modify the returned structure.</doc>
       <method name="get_nth_holder"
               c:identifier="gda_set_get_nth_holder"
               version="4.2">
-        <doc xml:whitespace="preserve">Finds a #GdaHolder using its position</doc>
+        <doc xml:space="preserve">Finds a #GdaHolder using its position</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaHolder or %NULL</doc>
+          <doc xml:space="preserve">the requested #GdaHolder or %NULL</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position of the requested #GdaHolder, starting at %0</doc>
+            <doc xml:space="preserve">the position of the requested #GdaHolder, starting at %0</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_source" c:identifier="gda_set_get_source">
-        <doc xml:whitespace="preserve">Finds a #GdaSetSource which contains the #GdaDataModel restricting 
the possible values of
+        <doc xml:space="preserve">Finds a #GdaSetSource which contains the #GdaDataModel restricting the 
possible values of
 @holder, don't modify the returned structure.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaSetSource or %NULL</doc>
+          <doc xml:space="preserve">the requested #GdaSetSource or %NULL</doc>
           <type name="SetSource" c:type="GdaSetSource*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+            <doc xml:space="preserve">a #GdaHolder object</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_source_for_model"
               c:identifier="gda_set_get_source_for_model">
-        <doc xml:whitespace="preserve">Finds the #GdaSetSource structure used in @set for which @model is a
+        <doc xml:space="preserve">Finds the #GdaSetSource structure used in @set for which @model is a
 the data model (the returned structure should not be modified).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaSetSource pointer or %NULL.</doc>
+          <doc xml:space="preserve">the requested #GdaSetSource pointer or %NULL.</doc>
           <type name="SetSource" c:type="GdaSetSource*"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
+            <doc xml:space="preserve">a #GdaDataModel object</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
       </method>
       <method name="is_valid" c:identifier="gda_set_is_valid" throws="1">
-        <doc xml:whitespace="preserve">This method tells if all @set's #GdaHolder objects are valid, and if
+        <doc xml:space="preserve">This method tells if all @set's #GdaHolder objects are valid, and if
 they represent a valid combination of values, as defined by rules
 external to Libgda: the "validate-set" signal is emitted and if none of the signal handlers return an
 error, then the returned value is TRUE, otherwise the return value is FALSE as soon as a signal handler
 returns an error.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the set is valid</doc>
+          <doc xml:space="preserve">TRUE if the set is valid</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="merge_with_set" c:identifier="gda_set_merge_with_set">
-        <doc xml:whitespace="preserve">Add to @set all the holders of @set_to_merge. 
+        <doc xml:space="preserve">Add to @set all the holders of @set_to_merge.
 Note1: only the #GdaHolder of @set_to_merge for which no holder in @set has the same ID are merged
 Note2: all the #GdaHolder merged in @set are still used by @set_to_merge.</doc>
         <return-value transfer-ownership="none">
@@ -19630,27 +20669,27 @@ Note2: all the #GdaHolder merged in @set are still used by @set_to_merge.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="set_to_merge" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
       </method>
       <method name="remove_holder" c:identifier="gda_set_remove_holder">
-        <doc xml:whitespace="preserve">Removes a #GdaHolder from the list of holders managed by @set</doc>
+        <doc xml:space="preserve">Removes a #GdaHolder from the list of holders managed by @set</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaHolder to remove from @set</doc>
+            <doc xml:space="preserve">the #GdaHolder to remove from @set</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
@@ -19658,7 +20697,7 @@ Note2: all the #GdaHolder merged in @set are still used by @set_to_merge.</doc>
       <method name="replace_source_model"
               c:identifier="gda_set_replace_source_model"
               version="4.2">
-        <doc xml:whitespace="preserve">Replaces @source-&gt;data_model with @model, which must have the same
+        <doc xml:space="preserve">Replaces @source-&gt;data_model with @model, which must have the same
 characteristics as @source-&gt;data_model (same column types)
 
 Also for each #GdaHolder for which @source-&gt;data_model is a source model,
@@ -19669,15 +20708,15 @@ the source by the new model</doc>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
           <parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to a #GdaSetSource in @set</doc>
+            <doc xml:space="preserve">a pointer to a #GdaSetSource in @set</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </parameter>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -19685,27 +20724,30 @@ the source by the new model</doc>
       <method name="set_holder_value"
               c:identifier="gda_set_set_holder_value"
               introspectable="0">
-        <doc xml:whitespace="preserve">Set the value of the #GdaHolder which ID is @holder_id to a specified 
value</doc>
+        <doc xml:space="preserve">Set the value of the #GdaHolder which ID is @holder_id to a specified 
value</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred and the value was set correctly</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred and the value was set correctly</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object</doc>
+            <doc xml:space="preserve">a #GdaSet object</doc>
             <type name="Set" c:type="GdaSet*"/>
           </instance-parameter>
-          <parameter name="error" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+          <parameter name="error"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a place to store errors, or %NULL</doc>
             <type name="GLib.Error" c:type="GError**"/>
           </parameter>
           <parameter name="holder_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the holder to set the value</doc>
+            <doc xml:space="preserve">the ID of the holder to set the value</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg3" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">value, of the correct type, depending on the requested holder's type 
(not NULL)</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -19729,7 +20771,7 @@ the source by the new model</doc>
                 version="5.2.0"
                 writable="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines if the "validate-set" signal gets emitted when
+        <doc xml:space="preserve">Defines if the "validate-set" signal gets emitted when
 any holder in the data set changes. This property also affects the
 GdaHolder:validate-changes property.</doc>
         <type name="gboolean" c:type="gboolean"/>
@@ -19741,41 +20783,45 @@ GdaHolder:validate-changes property.</doc>
         <type name="SetPrivate" c:type="GdaSetPrivate*"/>
       </field>
       <field name="holders">
+        <doc xml:space="preserve">list of GdaHolder objects</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="Holder"/>
         </type>
       </field>
       <field name="nodes_list">
+        <doc xml:space="preserve">list of GdaSetNode</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="SetNode"/>
         </type>
       </field>
       <field name="sources_list">
+        <doc xml:space="preserve">list of GdaSetSource</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="SetSource"/>
         </type>
       </field>
       <field name="groups_list">
+        <doc xml:space="preserve">list of GdaSetGroup</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="SetGroup"/>
         </type>
       </field>
       <glib:signal name="holder-attr-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when an attribute for any of the #GdaHolder objects 
managed by @set has changed</doc>
+        <doc xml:space="preserve">Gets emitted when an attribute for any of the #GdaHolder objects managed 
by @set has changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the GdaHolder for which an attribute changed</doc>
+            <doc xml:space="preserve">the GdaHolder for which an attribute changed</doc>
             <type name="Holder"/>
           </parameter>
           <parameter name="attr_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute's name</doc>
+            <doc xml:space="preserve">attribute's name</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
           <parameter name="attr_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute's value</doc>
+            <doc xml:space="preserve">attribute's value</doc>
             <type name="GObject.Value"/>
           </parameter>
         </parameters>
@@ -19791,59 +20837,61 @@ GdaHolder:validate-changes property.</doc>
         </parameters>
       </glib:signal>
       <glib:signal name="holder-type-set" when="first" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when @holder in @set has its type finally set, in case
+        <doc xml:space="preserve">Gets emitted when @holder in @set has its type finally set, in case
 it was #GDA_TYPE_NULL</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaHolder for which the #GType has been set</doc>
+            <doc xml:space="preserve">the #GdaHolder for which the #GType has been set</doc>
             <type name="Holder"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="public-data-changed" when="first">
-        <doc xml:whitespace="preserve">Gets emitted when @set's public data (#GdaSetNode, #GdaSetGroup or 
#GdaSetSource values) have changed</doc>
+        <doc xml:space="preserve">Gets emitted when @set's public data (#GdaSetNode, #GdaSetGroup or 
#GdaSetSource values) have changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
       </glib:signal>
       <glib:signal name="source-model-changed" when="first" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when the data model in @source has changed</doc>
+        <doc xml:space="preserve">Gets emitted when the data model in @source has changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaSetSource for which the @data_model attribute has 
changed</doc>
+            <doc xml:space="preserve">the #GdaSetSource for which the @data_model attribute has changed</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="validate-holder-change" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when a #GdaHolder's in @set is going to change its 
value. One can connect to
+        <doc xml:space="preserve">Gets emitted when a #GdaHolder's in @set is going to change its value. One 
can connect to
 this signal to control which values @holder can have (for example to implement some business rules)</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">NULL if @holder is allowed to change its value to @new_value, or a 
#GError otherwise.</doc>
+          <doc xml:space="preserve">NULL if @holder is allowed to change its value to @new_value, or a 
#GError
+otherwise.</doc>
           <type name="GLib.Error"/>
         </return-value>
         <parameters>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaHolder which is going to change</doc>
+            <doc xml:space="preserve">the #GdaHolder which is going to change</doc>
             <type name="Holder"/>
           </parameter>
           <parameter name="new_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the proposed new value for @holder</doc>
+            <doc xml:space="preserve">the proposed new value for @holder</doc>
             <type name="GObject.Value"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="validate-set" when="last">
-        <doc xml:whitespace="preserve">Gets emitted when gda_set_is_valid() is called, use
+        <doc xml:space="preserve">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)</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">NULL if @set's contents has been validated, or a #GError 
otherwise.</doc>
+          <doc xml:space="preserve">NULL if @set's contents has been validated, or a #GError
+otherwise.</doc>
           <type name="GLib.Error"/>
         </return-value>
       </glib:signal>
@@ -20018,14 +21066,16 @@ this signal to control which combination of values @set's holder can have (for e
             glib:type-name="GdaSetGroup"
             glib:get-type="gda_set_group_get_type"
             c:symbol-prefix="set_group">
-      <doc xml:whitespace="preserve">Since 5.2, you must consider this struct as opaque. Any access to its 
internal must use public API.
+      <doc xml:space="preserve">Since 5.2, you must consider this struct as opaque. Any access to its 
internal must use public API.
 Don't try to use #gda_set_group_free on a struct that was created manually.</doc>
       <field name="nodes" writable="1">
+        <doc xml:space="preserve">list of GdaSetNode, at least one entry</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="SetNode"/>
         </type>
       </field>
       <field name="nodes_source" writable="1">
+        <doc xml:space="preserve">if NULL, then @nodes contains exactly one entry</doc>
         <type name="SetSource" c:type="GdaSetSource*"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -20035,16 +21085,15 @@ Don't try to use #gda_set_group_free on a struct that was created manually.</doc
         <type name="gpointer" c:type="gpointer"/>
       </field>
       <constructor name="new" c:identifier="gda_set_group_new" version="5.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaSetGroup struct. If @source is %NULL then new group 
contains 
-just one #GdaSetNode.
-
-Return: (transfer full): a new #GdaSetGroup struct.</doc>
+        <doc xml:space="preserve">Creates a new #GdaSetGroup struct. If @source is %NULL then new group 
contains
+just one #GdaSetNode.</doc>
         <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new #GdaSetGroup struct.</doc>
           <type name="SetGroup" c:type="GdaSetGroup*"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </parameter>
         </parameters>
@@ -20057,38 +21106,39 @@ Return: (transfer full): a new #GdaSetGroup struct.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="sg" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode to set</doc>
+            <doc xml:space="preserve">a #GdaSetNode to set</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </parameter>
         </parameters>
       </method>
       <method name="copy" c:identifier="gda_set_group_copy" version="5.2">
-        <doc xml:whitespace="preserve">Copy constructor.</doc>
+        <doc xml:space="preserve">Copy constructor.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSetGroup</doc>
+          <doc xml:space="preserve">a new #GdaSetGroup</doc>
           <type name="SetGroup" c:type="GdaSetGroup*"/>
         </return-value>
         <parameters>
           <instance-parameter name="sg" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="free" c:identifier="gda_set_group_free" version="5.2">
-        <doc xml:whitespace="preserve">Frees any resources taken by @sg struct. If @sg is %NULL, then 
nothing happens.</doc>
+        <doc xml:space="preserve">Frees any resources taken by @sg struct. If @sg is %NULL, then nothing 
happens.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="sg"
                               transfer-ownership="none"
+                              nullable="1"
                               allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSetGroup struct to free</doc>
+            <doc xml:space="preserve">a #GdaSetGroup struct to free</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
         </parameters>
@@ -20097,12 +21147,12 @@ Return: (transfer full): a new #GdaSetGroup struct.</doc>
               c:identifier="gda_set_group_get_n_nodes"
               version="5.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of nodes in @sg.</doc>
+          <doc xml:space="preserve">number of nodes in @sg.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="sg" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
         </parameters>
@@ -20110,14 +21160,14 @@ Return: (transfer full): a new #GdaSetGroup struct.</doc>
       <method name="get_node"
               c:identifier="gda_set_group_get_node"
               version="5.2">
-        <doc xml:whitespace="preserve">This method always return first #GdaSetNode in @sg.</doc>
+        <doc xml:space="preserve">This method always return first #GdaSetNode in @sg.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">first #GdaSetNode in @sg.</doc>
+          <doc xml:space="preserve">first #GdaSetNode in @sg.</doc>
           <type name="SetNode" c:type="GdaSetNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="sg" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
         </parameters>
@@ -20125,17 +21175,17 @@ Return: (transfer full): a new #GdaSetGroup struct.</doc>
       <method name="get_nodes"
               c:identifier="gda_set_group_get_nodes"
               version="5.2">
-        <doc xml:whitespace="preserve">Returns a #GSList with the #GdaSetNode grouped by @sg. You must use
+        <doc xml:space="preserve">Returns a #GSList with the #GdaSetNode grouped by @sg. You must use
 #g_slist_free on returned list.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GSList with all nodes in @sg.</doc>
+          <doc xml:space="preserve">a #GSList with all nodes in @sg.</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="SetNode"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="sg" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
         </parameters>
@@ -20144,12 +21194,12 @@ Return: (transfer full): a new #GdaSetGroup struct.</doc>
               c:identifier="gda_set_group_get_source"
               version="5.2">
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaSetSource. If %NULL then @sg contains just one element.</doc>
+          <doc xml:space="preserve">a #GdaSetSource. If %NULL then @sg contains just one element.</doc>
           <type name="SetSource" c:type="GdaSetSource*"/>
         </return-value>
         <parameters>
           <instance-parameter name="sg" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
         </parameters>
@@ -20162,11 +21212,11 @@ Return: (transfer full): a new #GdaSetGroup struct.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="sg" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetGroup" c:type="GdaSetGroup*"/>
           </instance-parameter>
           <parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetSource to set</doc>
+            <doc xml:space="preserve">a #GdaSetSource to set</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </parameter>
         </parameters>
@@ -20177,15 +21227,18 @@ Return: (transfer full): a new #GdaSetGroup struct.</doc>
             glib:type-name="GdaSetNode"
             glib:get-type="gda_set_node_get_type"
             c:symbol-prefix="set_node">
-      <doc xml:whitespace="preserve">Since 5.2, you must consider this struct as opaque. Any access to its 
internal must use public API.
+      <doc xml:space="preserve">Since 5.2, you must consider this struct as opaque. Any access to its 
internal must use public API.
 Don't try to use #gda_set_node_free on a struct that was created manually.</doc>
       <field name="holder" writable="1">
+        <doc xml:space="preserve">a #GdaHolder. It can't be NULL</doc>
         <type name="Holder" c:type="GdaHolder*"/>
       </field>
       <field name="source_model" writable="1">
+        <doc xml:space="preserve">a #GdaDataModel. It could be NULL</doc>
         <type name="DataModel" c:type="GdaDataModel*"/>
       </field>
       <field name="source_column" writable="1">
+        <doc xml:space="preserve">a #gint with the number of column in @source_model</doc>
         <type name="gint" c:type="gint"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -20195,42 +21248,42 @@ Don't try to use #gda_set_node_free on a struct that was created manually.</doc>
         <type name="gpointer" c:type="gpointer"/>
       </field>
       <constructor name="new" c:identifier="gda_set_node_new" version="5.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaSetNode struct.
-
-Return: (transfer full): a new #GdaSetNode struct.</doc>
+        <doc xml:space="preserve">Creates a new #GdaSetNode struct.</doc>
         <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new #GdaSetNode struct.</doc>
           <type name="SetNode" c:type="GdaSetNode*"/>
         </return-value>
         <parameters>
           <parameter name="holder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaHolder to used by new #GdaSetNode</doc>
+            <doc xml:space="preserve">a #GdaHolder to used by new #GdaSetNode</doc>
             <type name="Holder" c:type="GdaHolder*"/>
           </parameter>
         </parameters>
       </constructor>
       <method name="copy" c:identifier="gda_set_node_copy" version="5.2">
-        <doc xml:whitespace="preserve">Copy constructor.</doc>
+        <doc xml:space="preserve">Copy constructor.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSetNode</doc>
+          <doc xml:space="preserve">a new #GdaSetNode</doc>
           <type name="SetNode" c:type="GdaSetNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode to copy from</doc>
+            <doc xml:space="preserve">a #GdaSetNode to copy from</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="free" c:identifier="gda_set_node_free" version="5.2">
-        <doc xml:whitespace="preserve">Frees any resources taken by @node struct. If @node is %NULL, then 
nothing happens.</doc>
+        <doc xml:space="preserve">Frees any resources taken by @node struct. If @node is %NULL, then nothing 
happens.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="node"
                               transfer-ownership="none"
+                              nullable="1"
                               allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct to free</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct to free</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
         </parameters>
@@ -20239,12 +21292,12 @@ Return: (transfer full): a new #GdaSetNode struct.</doc>
               c:identifier="gda_set_node_get_data_model"
               version="5.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaDataModel used by @node</doc>
+          <doc xml:space="preserve">the #GdaDataModel used by @node</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct to get holder from</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct to get holder from</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
         </parameters>
@@ -20253,12 +21306,12 @@ Return: (transfer full): a new #GdaSetNode struct.</doc>
               c:identifier="gda_set_node_get_holder"
               version="5.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaHolder used by @node</doc>
+          <doc xml:space="preserve">the #GdaHolder used by @node</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct to get holder from</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct to get holder from</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
         </parameters>
@@ -20267,12 +21320,13 @@ Return: (transfer full): a new #GdaSetNode struct.</doc>
               c:identifier="gda_set_node_get_source_column"
               version="5.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of column referenced in a given #GdaDataModel. If 
negative no column is referenced or no #GdaDataModel is used by @node.</doc>
+          <doc xml:space="preserve">the number of column referenced in a given #GdaDataModel. If negative
+no column is referenced or no #GdaDataModel is used by @node.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct to get column source from</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct to get column source from</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
         </parameters>
@@ -20280,7 +21334,7 @@ Return: (transfer full): a new #GdaSetNode struct.</doc>
       <method name="set_data_model"
               c:identifier="gda_set_node_set_data_model"
               version="5.2">
-        <doc xml:whitespace="preserve">Set a #GdaDataModel to be used by @node. @model increment its 
reference
+        <doc xml:space="preserve">Set a #GdaDataModel to be used by @node. @model increment its reference
 counting when set. Internally referenced column number is set to first column
 in @model.</doc>
         <return-value transfer-ownership="none">
@@ -20288,11 +21342,14 @@ in @model.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct to set data model to</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct to set data model to</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
-          <parameter name="model" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaDataModel to be used by @node</doc>
+          <parameter name="model"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaDataModel to be used by @node</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -20300,13 +21357,13 @@ in @model.</doc>
       <method name="set_holder"
               c:identifier="gda_set_node_set_holder"
               version="5.2">
-        <doc xml:whitespace="preserve">Set a #GdaHolder to @node.</doc>
+        <doc xml:space="preserve">Set a #GdaHolder to @node.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct to set holder to</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct to set holder to</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
           <parameter name="holder" transfer-ownership="none">
@@ -20317,14 +21374,14 @@ in @model.</doc>
       <method name="set_source_column"
               c:identifier="gda_set_node_set_source_column"
               version="5.2">
-        <doc xml:whitespace="preserve">Set column number in the #GdaDataModel used @node. If no 
#GdaDataModel is set
+        <doc xml:space="preserve">Set column number in the #GdaDataModel used @node. If no #GdaDataModel is 
set
 then column is set to invalid (-1);</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode struct to set column source to, from an used data 
model</doc>
+            <doc xml:space="preserve">a #GdaSetNode struct to set column source to, from an used data 
model</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </instance-parameter>
           <parameter name="column" transfer-ownership="none">
@@ -20340,12 +21397,14 @@ then column is set to invalid (-1);</doc>
             glib:type-name="GdaSetSource"
             glib:get-type="gda_set_source_get_type"
             c:symbol-prefix="set_source">
-      <doc xml:whitespace="preserve">Since 5.2, you must consider this struct as opaque. Any access to its 
internal must use public API.
+      <doc xml:space="preserve">Since 5.2, you must consider this struct as opaque. Any access to its 
internal must use public API.
 Don't try to use #gda_set_source_free on a struct that was created manually.</doc>
       <field name="data_model" writable="1">
+        <doc xml:space="preserve">Can't be NULL</doc>
         <type name="DataModel" c:type="GdaDataModel*"/>
       </field>
       <field name="nodes" writable="1">
+        <doc xml:space="preserve">list of #GdaSetNode for which source_model == @data_model</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="SetNode"/>
         </type>
@@ -20363,15 +21422,14 @@ Don't try to use #gda_set_source_free on a struct that was created manually.</do
         <type name="gpointer" c:type="gpointer"/>
       </field>
       <constructor name="new" c:identifier="gda_set_source_new" version="5.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaSetSource struct.
-
-Return: (transfer full): a new #GdaSetSource struct.</doc>
+        <doc xml:space="preserve">Creates a new #GdaSetSource struct.</doc>
         <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new #GdaSetSource struct.</doc>
           <type name="SetSource" c:type="GdaSetSource*"/>
         </return-value>
         <parameters>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -20379,44 +21437,45 @@ Return: (transfer full): a new #GdaSetSource struct.</doc>
       <method name="add_node"
               c:identifier="gda_set_source_add_node"
               version="5.2">
-        <doc xml:whitespace="preserve">Set a #GdaDataModel</doc>
+        <doc xml:space="preserve">Set a #GdaDataModel</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="s" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetSource</doc>
+            <doc xml:space="preserve">a #GdaSetSource</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </instance-parameter>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetNode to add</doc>
+            <doc xml:space="preserve">a #GdaSetNode to add</doc>
             <type name="SetNode" c:type="GdaSetNode*"/>
           </parameter>
         </parameters>
       </method>
       <method name="copy" c:identifier="gda_set_source_copy" version="5.2">
-        <doc xml:whitespace="preserve">Copy constructor.</doc>
+        <doc xml:space="preserve">Copy constructor.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaSetSource</doc>
+          <doc xml:space="preserve">a new #GdaSetSource</doc>
           <type name="SetSource" c:type="GdaSetSource*"/>
         </return-value>
         <parameters>
           <instance-parameter name="s" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetGroup</doc>
+            <doc xml:space="preserve">a #GdaSetGroup</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="free" c:identifier="gda_set_source_free" version="5.2">
-        <doc xml:whitespace="preserve">Frees any resources taken by @s struct. If @s is %NULL, then nothing 
happens.</doc>
+        <doc xml:space="preserve">Frees any resources taken by @s struct. If @s is %NULL, then nothing 
happens.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="s"
                               transfer-ownership="none"
+                              nullable="1"
                               allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaSetSource struct to free</doc>
+            <doc xml:space="preserve">a #GdaSetSource struct to free</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </instance-parameter>
         </parameters>
@@ -20425,12 +21484,12 @@ Return: (transfer full): a new #GdaSetSource struct.</doc>
               c:identifier="gda_set_source_get_data_model"
               version="5.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataModel used by @s</doc>
+          <doc xml:space="preserve">a #GdaDataModel used by @s</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="s" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetSource</doc>
+            <doc xml:space="preserve">a #GdaSetSource</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </instance-parameter>
         </parameters>
@@ -20439,12 +21498,12 @@ Return: (transfer full): a new #GdaSetSource struct.</doc>
               c:identifier="gda_set_source_get_n_nodes"
               version="5.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of nodes in @sg.</doc>
+          <doc xml:space="preserve">number of nodes in @sg.</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="s" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetSource</doc>
+            <doc xml:space="preserve">a #GdaSetSource</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </instance-parameter>
         </parameters>
@@ -20453,14 +21512,14 @@ Return: (transfer full): a new #GdaSetSource struct.</doc>
               c:identifier="gda_set_source_get_nodes"
               version="5.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a list of #GdaSetNode structs</doc>
+          <doc xml:space="preserve">a list of #GdaSetNode structs</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="SetNode"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="s" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetSource</doc>
+            <doc xml:space="preserve">a #GdaSetSource</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </instance-parameter>
         </parameters>
@@ -20468,17 +21527,17 @@ Return: (transfer full): a new #GdaSetSource struct.</doc>
       <method name="set_data_model"
               c:identifier="gda_set_source_set_data_model"
               version="5.2">
-        <doc xml:whitespace="preserve">Set a #GdaDataModel</doc>
+        <doc xml:space="preserve">Set a #GdaDataModel</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="s" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSetSource struct to free</doc>
+            <doc xml:space="preserve">a #GdaSetSource struct to free</doc>
             <type name="SetSource" c:type="GdaSetSource*"/>
           </instance-parameter>
           <parameter name="model" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+            <doc xml:space="preserve">a #GdaDataModel</doc>
             <type name="DataModel" c:type="GdaDataModel*"/>
           </parameter>
         </parameters>
@@ -20491,12 +21550,14 @@ Return: (transfer full): a new #GdaSetSource struct.</doc>
            glib:fundamental="1">
     </class>
     <record name="SqlAnyPart" c:type="GdaSqlAnyPart" introspectable="0">
-      <doc xml:whitespace="preserve">Base structure of which all structures (except #GdaSqlStatement) 
"inherit". It identifies, for each structure,
+      <doc xml:space="preserve">Base structure of which all structures (except #GdaSqlStatement) "inherit". 
It identifies, for each structure,
 its type and its parent in the structure hierarchy.</doc>
       <field name="type" writable="1">
+        <doc xml:space="preserve">type of structure, as a #GdaSqlAnyPartType enum.</doc>
         <type name="SqlAnyPartType" c:type="GdaSqlAnyPartType"/>
       </field>
       <field name="parent" writable="1">
+        <doc xml:space="preserve">pointer to the parent #GdaSqlAnyPart structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
       </field>
       <method name="check_structure"
@@ -20534,117 +21595,117 @@ its type and its parent in the structure hierarchy.</doc>
     <enumeration name="SqlAnyPartType"
                  introspectable="0"
                  c:type="GdaSqlAnyPartType">
-      <doc xml:whitespace="preserve">Type of part.</doc>
+      <doc xml:space="preserve">Type of part.</doc>
       <member name="stmt_select"
               value="0"
               c:identifier="GDA_SQL_ANY_STMT_SELECT">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementSelect</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementSelect</doc>
       </member>
       <member name="stmt_insert"
               value="1"
               c:identifier="GDA_SQL_ANY_STMT_INSERT">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementInsert</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementInsert</doc>
       </member>
       <member name="stmt_update"
               value="2"
               c:identifier="GDA_SQL_ANY_STMT_UPDATE">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementUpdate</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementUpdate</doc>
       </member>
       <member name="stmt_delete"
               value="3"
               c:identifier="GDA_SQL_ANY_STMT_DELETE">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementDelete</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementDelete</doc>
       </member>
       <member name="stmt_compound"
               value="4"
               c:identifier="GDA_SQL_ANY_STMT_COMPOUND">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementCompound</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementCompound</doc>
       </member>
       <member name="stmt_begin"
               value="5"
               c:identifier="GDA_SQL_ANY_STMT_BEGIN">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementTransaction</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementTransaction</doc>
       </member>
       <member name="stmt_rollback"
               value="6"
               c:identifier="GDA_SQL_ANY_STMT_ROLLBACK">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementTransaction</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementTransaction</doc>
       </member>
       <member name="stmt_commit"
               value="7"
               c:identifier="GDA_SQL_ANY_STMT_COMMIT">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementTransaction</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementTransaction</doc>
       </member>
       <member name="stmt_savepoint"
               value="8"
               c:identifier="GDA_SQL_ANY_STMT_SAVEPOINT">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementTransaction</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementTransaction</doc>
       </member>
       <member name="stmt_rollback_savepoint"
               value="9"
               c:identifier="GDA_SQL_ANY_STMT_ROLLBACK_SAVEPOINT">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementTransaction</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementTransaction</doc>
       </member>
       <member name="stmt_delete_savepoint"
               value="10"
               c:identifier="GDA_SQL_ANY_STMT_DELETE_SAVEPOINT">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementTransaction</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementTransaction</doc>
       </member>
       <member name="stmt_unknown"
               value="11"
               c:identifier="GDA_SQL_ANY_STMT_UNKNOWN">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlStatementUnknown</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlStatementUnknown</doc>
       </member>
       <member name="expr" value="500" c:identifier="GDA_SQL_ANY_EXPR">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlExpr</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlExpr</doc>
       </member>
       <member name="sql_field"
               value="501"
               c:identifier="GDA_SQL_ANY_SQL_FIELD">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlField</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlField</doc>
       </member>
       <member name="sql_table"
               value="502"
               c:identifier="GDA_SQL_ANY_SQL_TABLE">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlTable</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlTable</doc>
       </member>
       <member name="sql_function"
               value="503"
               c:identifier="GDA_SQL_ANY_SQL_FUNCTION">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlFunction</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlFunction</doc>
       </member>
       <member name="sql_operation"
               value="504"
               c:identifier="GDA_SQL_ANY_SQL_OPERATION">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlOperation</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlOperation</doc>
       </member>
       <member name="sql_case" value="505" c:identifier="GDA_SQL_ANY_SQL_CASE">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlCase</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlCase</doc>
       </member>
       <member name="sql_select_field"
               value="506"
               c:identifier="GDA_SQL_ANY_SQL_SELECT_FIELD">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlSelectField</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlSelectField</doc>
       </member>
       <member name="sql_select_target"
               value="507"
               c:identifier="GDA_SQL_ANY_SQL_SELECT_TARGET">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlSelectTarget</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlSelectTarget</doc>
       </member>
       <member name="sql_select_join"
               value="508"
               c:identifier="GDA_SQL_ANY_SQL_SELECT_JOIN">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlSelectJoin</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlSelectJoin</doc>
       </member>
       <member name="sql_select_from"
               value="509"
               c:identifier="GDA_SQL_ANY_SQL_SELECT_FROM">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlSelectFrom</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlSelectFrom</doc>
       </member>
       <member name="sql_select_order"
               value="510"
               c:identifier="GDA_SQL_ANY_SQL_SELECT_ORDER">
-        <doc xml:whitespace="preserve">structure is a #GdaSqlSelectOrder</doc>
+        <doc xml:space="preserve">structure is a #GdaSqlSelectOrder</doc>
       </member>
     </enumeration>
     <class name="SqlBuilder"
@@ -20655,15 +21716,16 @@ its type and its parent in the structure hierarchy.</doc>
            glib:get-type="gda_sql_builder_get_type"
            glib:type-struct="SqlBuilderClass">
       <constructor name="new" c:identifier="gda_sql_builder_new" version="4.2">
-        <doc xml:whitespace="preserve">Create a new #GdaSqlBuilder object to build #GdaStatement or 
#GdaSqlStatement
+        <doc xml:space="preserve">Create a new #GdaSqlBuilder object to build #GdaStatement or 
#GdaSqlStatement
 objects of type @stmt_type</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created object, or %NULL if an error occurred (such as 
unsupported statement type)</doc>
+          <doc xml:space="preserve">the newly created object, or %NULL if an error occurred (such as 
unsupported
+statement type)</doc>
           <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
         </return-value>
         <parameters>
           <parameter name="stmt_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of statement to build</doc>
+            <doc xml:space="preserve">the type of statement to build</doc>
             <type name="SqlStatementType" c:type="GdaSqlStatementType"/>
           </parameter>
         </parameters>
@@ -20678,27 +21740,28 @@ objects of type @stmt_type</doc>
               shadowed-by="add_case_v"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new CASE ... WHEN ... THEN ... ELSE ... END 
expression.</doc>
+        <doc xml:space="preserve">Creates a new CASE ... WHEN ... THEN ... ELSE ... END expression.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="test_expr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the expression ID representing the test of the CASE, or %0</doc>
+            <doc xml:space="preserve">the expression ID representing the test of the CASE, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="else_expr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the expression ID representing the ELSE expression, or %0</doc>
+            <doc xml:space="preserve">the expression ID representing the ELSE expression, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
-          <parameter name="arg3" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a list, terminated by a %0, of (WHEN expression ID, THEN expression 
ID) representing
+      all the test cases</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -20706,40 +21769,40 @@ objects of type @stmt_type</doc>
               c:identifier="gda_sql_builder_add_case_v"
               shadows="add_case"
               version="4.2">
-        <doc xml:whitespace="preserve">Creates a new CASE ... WHEN ... THEN ... ELSE ... END expression. The 
WHEN expression and the THEN
+        <doc xml:space="preserve">Creates a new CASE ... WHEN ... THEN ... ELSE ... END expression. The WHEN 
expression and the THEN
 expression IDs are taken from the @when_array and @then_array at the same index, for each index inferior to
 @args_size.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="test_expr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the expression ID representing the test of the CASE, or %0</doc>
+            <doc xml:space="preserve">the expression ID representing the test of the CASE, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="else_expr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the expression ID representing the ELSE expression, or %0</doc>
+            <doc xml:space="preserve">the expression ID representing the ELSE expression, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="when_array" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array containing each WHEN expression ID, having at least 
@args_size elements</doc>
+            <doc xml:space="preserve">an array containing each WHEN expression ID, having at least 
@args_size elements</doc>
             <array length="4" zero-terminated="0" c:type="GdaSqlBuilderId*">
               <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
             </array>
           </parameter>
           <parameter name="then_array" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array containing each THEN expression ID, having at least 
@args_size elements</doc>
+            <doc xml:space="preserve">an array containing each THEN expression ID, having at least 
@args_size elements</doc>
             <array length="4" zero-terminated="0" c:type="GdaSqlBuilderId*">
               <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
             </array>
           </parameter>
           <parameter name="args_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the size of @when_array and @then_array</doc>
+            <doc xml:space="preserve">the size of @when_array and @then_array</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -20747,30 +21810,30 @@ expression IDs are taken from the @when_array and @then_array at the same index,
       <method name="add_cond"
               c:identifier="gda_sql_builder_add_cond"
               version="4.2">
-        <doc xml:whitespace="preserve">Builds a new expression which represents a condition (or 
operation).</doc>
+        <doc xml:space="preserve">Builds a new expression which represents a condition (or operation).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">type of condition</doc>
+            <doc xml:space="preserve">type of condition</doc>
             <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
           </parameter>
           <parameter name="op1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the 1st argument (not 0)</doc>
+            <doc xml:space="preserve">the ID of the 1st argument (not 0)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="op2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the 2nd argument (may be %0 if @op needs only one 
operand)</doc>
+            <doc xml:space="preserve">the ID of the 2nd argument (may be %0 if @op needs only one 
operand)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="op3" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the 3rd argument (may be %0 if @op needs only one or 
two operand)</doc>
+            <doc xml:space="preserve">the ID of the 3rd argument (may be %0 if @op needs only one or two 
operand)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -20779,32 +21842,32 @@ expression IDs are taken from the @when_array and @then_array at the same index,
               c:identifier="gda_sql_builder_add_cond_v"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Builds a new expression which represents a condition (or operation).
+        <doc xml:space="preserve">Builds a new expression which represents a condition (or operation).
 
 As a side case, if @ops_ids_size is 1,
 then @op is ignored, and the returned ID represents @op_ids[0] (this avoids any problem for example
 when @op is GDA_SQL_OPERATOR_TYPE_AND and there is in fact only one operand).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="op" transfer-ownership="none">
-            <doc xml:whitespace="preserve">type of condition</doc>
+            <doc xml:space="preserve">type of condition</doc>
             <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
           </parameter>
           <parameter name="op_ids" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of ID for the arguments (not %0)</doc>
+            <doc xml:space="preserve">an array of ID for the arguments (not %0)</doc>
             <array length="2" zero-terminated="0" c:type="GdaSqlBuilderId*">
               <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
             </array>
           </parameter>
           <parameter name="op_ids_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">size of @ops_ids</doc>
+            <doc xml:space="preserve">size of @ops_ids</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -20813,7 +21876,7 @@ when @op is GDA_SQL_OPERATOR_TYPE_AND and there is in fact only one operand).</d
               c:identifier="gda_sql_builder_add_expr"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Defines an expression in @builder which may be reused to build other 
parts of a statement.
+        <doc xml:space="preserve">Defines an expression in @builder which may be reused to build other parts 
of a statement.
 
 The new expression will contain the value passed as the @... argument.
 
@@ -20838,32 +21901,35 @@ will correspond in SQL to:
 25
 &lt;/programlisting&gt;</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
-          <parameter name="dh" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">deprecated useless argument, just pass %NULL</doc>
+          <parameter name="dh"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">deprecated useless argument, just pass %NULL</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the GType of the following argument</doc>
+            <doc xml:space="preserve">the GType of the following argument</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
-          <parameter name="arg3" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">value to set the expression to, of the type specified by @type</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
       <method name="add_expr_value"
               c:identifier="gda_sql_builder_add_expr_value"
               version="4.2">
-        <doc xml:whitespace="preserve">Defines an expression in @builder which may be reused to build other 
parts of a statement.
+        <doc xml:space="preserve">Defines an expression in @builder which may be reused to build other parts 
of a statement.
 
 The new expression will contain the value passed as the @value argument.
 
@@ -20871,20 +21937,26 @@ If @value's type is a string then it is possible to customize how the value has
 specific #GdaDataHandler object as @dh. This feature is very rarely used and the @dh argument should 
generally
 be %NULL.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
-          <parameter name="dh" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">deprecated useless argument, just pass %NULL</doc>
+          <parameter name="dh"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">deprecated useless argument, just pass %NULL</doc>
             <type name="DataHandler" c:type="GdaDataHandler*"/>
           </parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">value to set the expression to, or %NULL or a GDA_TYPE_NULL value 
to represent an SQL NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">value to set the expression to, or %NULL or a GDA_TYPE_NULL value to 
represent an SQL NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -20892,7 +21964,7 @@ be %NULL.</doc>
       <method name="add_field_id"
               c:identifier="gda_sql_builder_add_field_id"
               version="4.2">
-        <doc xml:whitespace="preserve">Defines an expression representing a field in @builder,
+        <doc xml:space="preserve">Defines an expression representing a field in @builder,
 which may be reused to build other parts of a statement,
 for instance as a parameter to gda_sql_builder_add_cond() or
 gda_sql_builder_add_field_value_id().
@@ -20901,22 +21973,23 @@ Calling this with a %NULL @table_name is equivalent to calling gda_sql_builder_a
 
 For SELECT queries, see gda_sql_builder_select_add_field().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="field_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a field name</doc>
+            <doc xml:space="preserve">a field name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="table_name"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a table name, or %NULL</doc>
+            <doc xml:space="preserve">a table name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -20925,7 +21998,7 @@ For SELECT queries, see gda_sql_builder_select_add_field().</doc>
               c:identifier="gda_sql_builder_add_field_value"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Valid only for: INSERT, UPDATE statements.
+        <doc xml:space="preserve">Valid only for: INSERT, UPDATE statements.
 
 Specifies that the field represented by @field_name will be set to the value identified
 by @... of type @type. See gda_sql_builder_add_expr() for more information.
@@ -20936,27 +22009,27 @@ This is a C convenience function. See also gda_sql_builder_add_field_value_as_gv
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="field_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a field name</doc>
+            <doc xml:space="preserve">a field name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the GType of the following argument</doc>
+            <doc xml:space="preserve">the GType of the following argument</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
-          <parameter name="arg3" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">value to set the field to, of the type specified by @type</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
       <method name="add_field_value_as_gvalue"
               c:identifier="gda_sql_builder_add_field_value_as_gvalue"
               version="4.2">
-        <doc xml:whitespace="preserve">Valid only for: INSERT, UPDATE statements.
+        <doc xml:space="preserve">Valid only for: INSERT, UPDATE statements.
 
 Specifies that the field represented by @field_name will be set to the value identified
 by @value</doc>
@@ -20965,15 +22038,18 @@ by @value</doc>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="field_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a field name</doc>
+            <doc xml:space="preserve">a field name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">value to set the field to, or %NULL or a GDA_TYPE_NULL value to 
represent an SQL NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">value to set the field to, or %NULL or a GDA_TYPE_NULL value to 
represent an SQL NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -20981,7 +22057,7 @@ by @value</doc>
       <method name="add_field_value_id"
               c:identifier="gda_sql_builder_add_field_value_id"
               version="4.2">
-        <doc xml:whitespace="preserve">Valid only for: INSERT, UPDATE, SELECT statements
+        <doc xml:space="preserve">Valid only for: INSERT, UPDATE, SELECT statements
 &lt;itemizedlist&gt;
 &lt;listitem&gt;&lt;para&gt;For UPDATE: specifies that the field represented by @field_id will be set to the 
value identified
    by @value_id.&lt;/para&gt;&lt;/listitem&gt;
@@ -21000,15 +22076,15 @@ See also gda_sql_builder_add_field_value() and gda_sql_builder_add_field_value_a
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="field_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the field's name or definition</doc>
+            <doc xml:space="preserve">the ID of the field's name or definition</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="value_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the value to set the field to, or %0</doc>
+            <doc xml:space="preserve">the ID of the value to set the field to, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21018,23 +22094,23 @@ See also gda_sql_builder_add_field_value() and gda_sql_builder_add_field_value_a
               shadowed-by="add_function_v"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Builds a new expression which represents a function applied to some 
arguments</doc>
+        <doc xml:space="preserve">Builds a new expression which represents a function applied to some 
arguments</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="func_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the functions's name</doc>
+            <doc xml:space="preserve">the functions's name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="arg2" transfer-ownership="none">
-            <varargs>
-            </varargs>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">a list, terminated with %0, of each function's argument's ID</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -21042,28 +22118,28 @@ See also gda_sql_builder_add_field_value() and gda_sql_builder_add_field_value_a
               c:identifier="gda_sql_builder_add_function_v"
               shadows="add_function"
               version="4.2">
-        <doc xml:whitespace="preserve">Builds a new expression which represents a function applied to some 
arguments</doc>
+        <doc xml:space="preserve">Builds a new expression which represents a function applied to some 
arguments</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="func_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the functions's name</doc>
+            <doc xml:space="preserve">the functions's name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of IDs representing the function's arguments</doc>
+            <doc xml:space="preserve">an array of IDs representing the function's arguments</doc>
             <array length="2" zero-terminated="0" c:type="GdaSqlBuilderId*">
               <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
             </array>
           </parameter>
           <parameter name="args_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">@args's size</doc>
+            <doc xml:space="preserve">@args's size</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -21071,7 +22147,7 @@ See also gda_sql_builder_add_field_value() and gda_sql_builder_add_field_value_a
       <method name="add_id"
               c:identifier="gda_sql_builder_add_id"
               version="4.2">
-        <doc xml:whitespace="preserve">Defines an expression representing an identifier in @builder,
+        <doc xml:space="preserve">Defines an expression representing an identifier in @builder,
 which may be reused to build other parts of a statement,
 for instance as a parameter to gda_sql_builder_add_cond() or
 gda_sql_builder_add_field_value_id().
@@ -21093,16 +22169,16 @@ because "date" is an SQL reserved keyword.
 
 For fields, see gda_sql_builder_add_field_id().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string</doc>
+            <doc xml:space="preserve">a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -21110,7 +22186,7 @@ For fields, see gda_sql_builder_add_field_id().</doc>
       <method name="add_param"
               c:identifier="gda_sql_builder_add_param"
               version="4.2">
-        <doc xml:whitespace="preserve">Defines a parameter in @builder which may be reused to build other 
parts of a statement.
+        <doc xml:space="preserve">Defines a parameter in @builder which may be reused to build other parts 
of a statement.
 
 The new expression will contain the @string literal.
 For example:
@@ -21124,24 +22200,24 @@ will be rendered as SQL as:
 ]]&gt;
 &lt;/programlisting&gt;</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="param_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">parameter's name</doc>
+            <doc xml:space="preserve">parameter's name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">parameter's type</doc>
+            <doc xml:space="preserve">parameter's type</doc>
             <type name="GType" c:type="GType"/>
           </parameter>
           <parameter name="nullok" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if the parameter can be set to %NULL</doc>
+            <doc xml:space="preserve">TRUE if the parameter can be set to %NULL</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -21150,18 +22226,18 @@ will be rendered as SQL as:
               c:identifier="gda_sql_builder_add_sub_select"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Adds an expression which is a subselect.</doc>
+        <doc xml:space="preserve">Adds an expression which is a subselect.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="sqlst" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to a #GdaSqlStatement, which has to be a SELECT or 
compound SELECT. This will be copied.</doc>
+            <doc xml:space="preserve">a pointer to a #GdaSqlStatement, which has to be a SELECT or compound 
SELECT. This will be copied.</doc>
             <type name="SqlStatement" c:type="GdaSqlStatement*"/>
           </parameter>
         </parameters>
@@ -21170,17 +22246,17 @@ will be rendered as SQL as:
               c:identifier="gda_sql_builder_compound_add_sub_select"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Add a sub select to a COMPOUND statement</doc>
+        <doc xml:space="preserve">Add a sub select to a COMPOUND statement</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="sqlst" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to a #GdaSqlStatement, which has to be a SELECT or 
compound SELECT. This will be copied.</doc>
+            <doc xml:space="preserve">a pointer to a #GdaSqlStatement, which has to be a SELECT or compound 
SELECT. This will be copied.</doc>
             <type name="SqlStatement" c:type="GdaSqlStatement*"/>
           </parameter>
         </parameters>
@@ -21188,17 +22264,17 @@ will be rendered as SQL as:
       <method name="compound_add_sub_select_from_builder"
               c:identifier="gda_sql_builder_compound_add_sub_select_from_builder"
               version="4.2">
-        <doc xml:whitespace="preserve">Add a sub select to a COMPOUND statement</doc>
+        <doc xml:space="preserve">Add a sub select to a COMPOUND statement</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="subselect" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder, which has to be a SELECT or compound SELECT. 
This will be copied.</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder, which has to be a SELECT or compound SELECT. This 
will be copied.</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </parameter>
         </parameters>
@@ -21206,17 +22282,17 @@ will be rendered as SQL as:
       <method name="compound_set_type"
               c:identifier="gda_sql_builder_compound_set_type"
               version="4.2">
-        <doc xml:whitespace="preserve">Changes the type of compound which @builder is making, for a COMPOUND 
statement</doc>
+        <doc xml:space="preserve">Changes the type of compound which @builder is making, for a COMPOUND 
statement</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="compound_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a type of compound</doc>
+            <doc xml:space="preserve">a type of compound</doc>
             <type name="SqlStatementCompoundType"
                   c:type="GdaSqlStatementCompoundType"/>
           </parameter>
@@ -21226,19 +22302,20 @@ will be rendered as SQL as:
               c:identifier="gda_sql_builder_export_expression"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Exports a part managed by @builder as a new #GdaSqlExpr, which can 
represent any expression
+        <doc xml:space="preserve">Exports a part managed by @builder as a new #GdaSqlExpr, which can 
represent any expression
 in a statement.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to a new #GdaSqlExpr structure, free using 
gda_sql_expr_free() when not needed anymore. If the part with @id as ID cannot be found, the returned value 
is %NULL.</doc>
+          <doc xml:space="preserve">a pointer to a new #GdaSqlExpr structure, free using gda_sql_expr_free() 
when not
+needed anymore. If the part with @id as ID cannot be found, the returned value is %NULL.</doc>
           <type name="SqlExpr" c:type="GdaSqlExpr*"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the expression to be exported, (must be a valid ID in 
@builder, not %0)</doc>
+            <doc xml:space="preserve">the ID of the expression to be exported, (must be a valid ID in 
@builder, not %0)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21247,17 +22324,17 @@ in a statement.</doc>
               c:identifier="gda_sql_builder_get_sql_statement"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GdaSqlStatement structure from @builder's contents.
+        <doc xml:space="preserve">Creates a new #GdaSqlStatement structure from @builder's contents.
 
 The returned pointer belongs to @builder's internal representation.
 Use gda_sql_statement_copy() if you need to keep it.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaSqlStatement pointer</doc>
+          <doc xml:space="preserve">a #GdaSqlStatement pointer</doc>
           <type name="SqlStatement" c:type="GdaSqlStatement*"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
         </parameters>
@@ -21266,14 +22343,14 @@ Use gda_sql_statement_copy() if you need to keep it.</doc>
               c:identifier="gda_sql_builder_get_statement"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Creates a new #GdaStatement statement from @builder's contents.</doc>
+        <doc xml:space="preserve">Creates a new #GdaStatement statement from @builder's contents.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaStatement object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaStatement object, or %NULL if an error occurred</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
         </parameters>
@@ -21282,18 +22359,18 @@ Use gda_sql_statement_copy() if you need to keep it.</doc>
               c:identifier="gda_sql_builder_import_expression"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Imports the @expr into @builder.</doc>
+        <doc xml:space="preserve">Imports the @expr into @builder.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="expr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlExpr obtained using 
gda_sql_builder_export_expression()</doc>
+            <doc xml:space="preserve">a #GdaSqlExpr obtained using gda_sql_builder_export_expression()</doc>
             <type name="SqlExpr" c:type="GdaSqlExpr*"/>
           </parameter>
         </parameters>
@@ -21301,22 +22378,22 @@ Use gda_sql_statement_copy() if you need to keep it.</doc>
       <method name="import_expression_from_builder"
               c:identifier="gda_sql_builder_import_expression_from_builder"
               version="4.2">
-        <doc xml:whitespace="preserve">Imports the an expression located in @query into @builder.</doc>
+        <doc xml:space="preserve">Imports the an expression located in @query into @builder.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new expression, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="query" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object to get expression from</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object to get expression from</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </parameter>
           <parameter name="expr_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilderId of the expression in @query</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilderId of the expression in @query</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21324,23 +22401,23 @@ Use gda_sql_statement_copy() if you need to keep it.</doc>
       <method name="join_add_field"
               c:identifier="gda_sql_builder_join_add_field"
               version="4.2">
-        <doc xml:whitespace="preserve">Alter a join in a SELECT statement to make its condition use equal 
field 
+        <doc xml:space="preserve">Alter a join in a SELECT statement to make its condition use equal field
 values in the fields named @field_name in both tables, via the USING keyword.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new join, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new join, or %0 if there was an error</doc>
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="join_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the join to modify (not %0)</doc>
+            <doc xml:space="preserve">the ID of the join to modify (not %0)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="field_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the field to use in the join condition (not 
%NULL)</doc>
+            <doc xml:space="preserve">the name of the field to use in the join condition (not %NULL)</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -21348,32 +22425,36 @@ values in the fields named @field_name in both tables, via the USING keyword.</d
       <method name="select_add_field"
               c:identifier="gda_sql_builder_select_add_field"
               version="4.2">
-        <doc xml:whitespace="preserve">Valid only for: SELECT statements.
+        <doc xml:space="preserve">Valid only for: SELECT statements.
 
 Add a selected selected item to the SELECT statement.
 
 For non-SELECT statements, see gda_sql_builder_add_field_id().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the added field, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the added field, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="field_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a field name</doc>
+            <doc xml:space="preserve">a field name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="table_name"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a table name, or %NULL</doc>
+            <doc xml:space="preserve">a table name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="alias" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an alias (eg. for the "AS" clause), or %NULL</doc>
+          <parameter name="alias"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an alias (eg. for the "AS" clause), or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -21381,22 +22462,25 @@ For non-SELECT statements, see gda_sql_builder_add_field_id().</doc>
       <method name="select_add_target"
               c:identifier="gda_sql_builder_select_add_target"
               version="4.2">
-        <doc xml:whitespace="preserve">Adds a new target to a SELECT statement</doc>
+        <doc xml:space="preserve">Adds a new target to a SELECT statement</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new target, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new target, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the target table</doc>
+            <doc xml:space="preserve">the name of the target table</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="alias" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the alias to give to the target, or %NULL</doc>
+          <parameter name="alias"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the alias to give to the target, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -21404,24 +22488,27 @@ For non-SELECT statements, see gda_sql_builder_add_field_id().</doc>
       <method name="select_add_target_id"
               c:identifier="gda_sql_builder_select_add_target_id"
               version="4.2">
-        <doc xml:whitespace="preserve">Adds a new target to a SELECT statement. If there already exists a 
target representing
+        <doc xml:space="preserve">Adds a new target to a SELECT statement. If there already exists a target 
representing
 the same table and the same alias (or with the same absence of alias) then the same target
 ID is returned instead of the ID of a new target.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new (or existing) target, or %0 if there was an 
error</doc>
+          <doc xml:space="preserve">the ID of the new (or existing) target, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="table_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the expression holding a table reference (not %0)</doc>
+            <doc xml:space="preserve">the ID of the expression holding a table reference (not %0)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
-          <parameter name="alias" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the alias to give to the target, or %NULL</doc>
+          <parameter name="alias"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the alias to give to the target, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -21429,7 +22516,7 @@ ID is returned instead of the ID of a new target.</doc>
       <method name="select_group_by"
               c:identifier="gda_sql_builder_select_group_by"
               version="4.2">
-        <doc xml:whitespace="preserve">Valid only for: SELECT statements
+        <doc xml:space="preserve">Valid only for: SELECT statements
 
 Adds the @expr_id expression to the GROUP BY clause's expressions list</doc>
         <return-value transfer-ownership="none">
@@ -21437,11 +22524,11 @@ Adds the @expr_id expression to the GROUP BY clause's expressions list</doc>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="expr_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the expression to set use in the GROUP BY clause, or 0 
to unset any previous GROUP BY clause</doc>
+            <doc xml:space="preserve">the ID of the expression to set use in the GROUP BY clause, or 0 to 
unset any previous GROUP BY clause</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21450,35 +22537,35 @@ Adds the @expr_id expression to the GROUP BY clause's expressions list</doc>
               c:identifier="gda_sql_builder_select_join_targets"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Joins two targets in a SELECT statement, using the @join_type type of 
join.
+        <doc xml:space="preserve">Joins two targets in a SELECT statement, using the @join_type type of join.
 
 Note: if the target represented by @left_target_id is actually situated after (on the right) of
 the target represented by @right_target_id, then the actual type of join may be switched from
 %GDA_SQL_SELECT_JOIN_LEFT to %GDA_SQL_SELECT_JOIN_RIGHT or from %GDA_SQL_SELECT_JOIN_RIGHT to
 %GDA_SQL_SELECT_JOIN_LEFT.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID of the new join, or %0 if there was an error</doc>
+          <doc xml:space="preserve">the ID of the new join, or %0 if there was an error</doc>
           <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="left_target_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the left target to use (not %0)</doc>
+            <doc xml:space="preserve">the ID of the left target to use (not %0)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="right_target_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the right target to use (not %0)</doc>
+            <doc xml:space="preserve">the ID of the right target to use (not %0)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="join_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of join</doc>
+            <doc xml:space="preserve">the type of join</doc>
             <type name="SqlSelectJoinType" c:type="GdaSqlSelectJoinType"/>
           </parameter>
           <parameter name="join_expr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">joining expression's ID, or %0</doc>
+            <doc xml:space="preserve">joining expression's ID, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21486,27 +22573,28 @@ the target represented by @right_target_id, then the actual type of join may be
       <method name="select_order_by"
               c:identifier="gda_sql_builder_select_order_by"
               version="4.2">
-        <doc xml:whitespace="preserve">Adds a new ORDER BY expression to a SELECT statement.</doc>
+        <doc xml:space="preserve">Adds a new ORDER BY expression to a SELECT statement.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuiler</doc>
+            <doc xml:space="preserve">a #GdaSqlBuiler</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="expr_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the expression to use during sorting (not %0)</doc>
+            <doc xml:space="preserve">the ID of the expression to use during sorting (not %0)</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="asc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE for an ascending sorting</doc>
+            <doc xml:space="preserve">%TRUE for an ascending sorting</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
           <parameter name="collation_name"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">name of the collation to use when sorting, or %NULL</doc>
+            <doc xml:space="preserve">name of the collation to use when sorting, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -21514,7 +22602,7 @@ the target represented by @right_target_id, then the actual type of join may be
       <method name="select_set_distinct"
               c:identifier="gda_sql_builder_select_set_distinct"
               version="4.2">
-        <doc xml:whitespace="preserve">Defines (if @distinct is %TRUE) or removes (if @distinct is %FALSE) a 
DISTINCT clause
+        <doc xml:space="preserve">Defines (if @distinct is %TRUE) or removes (if @distinct is %FALSE) a 
DISTINCT clause
 for a SELECT statement.
 
 If @distinct is %TRUE, then the ID of an expression can be specified as the @expr_id argument:
@@ -21525,15 +22613,16 @@ will then usually be "... DISTINCT ON &amp;lt;expression&amp;gt;...").</doc>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="distinct" transfer-ownership="none">
-            <doc xml:whitespace="preserve">set to %TRUE to have the DISTINCT requirement</doc>
+            <doc xml:space="preserve">set to %TRUE to have the DISTINCT requirement</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
           <parameter name="expr_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the DISTINCT ON expression, or %0 if no expression is 
to be used. It is ignored if @distinct is %FALSE.</doc>
+            <doc xml:space="preserve">the ID of the DISTINCT ON expression, or %0 if no expression is to be 
used. It is ignored
+          if @distinct is %FALSE.</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21541,7 +22630,7 @@ will then usually be "... DISTINCT ON &amp;lt;expression&amp;gt;...").</doc>
       <method name="select_set_having"
               c:identifier="gda_sql_builder_select_set_having"
               version="4.2">
-        <doc xml:whitespace="preserve">Valid only for: SELECT statements
+        <doc xml:space="preserve">Valid only for: SELECT statements
 
 Sets the HAVING condition of the statement</doc>
         <return-value transfer-ownership="none">
@@ -21549,11 +22638,11 @@ Sets the HAVING condition of the statement</doc>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="cond_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the expression to set as HAVING condition, or 0 to 
unset any previous HAVING condition</doc>
+            <doc xml:space="preserve">the ID of the expression to set as HAVING condition, or 0 to unset any 
previous HAVING condition</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21561,7 +22650,7 @@ Sets the HAVING condition of the statement</doc>
       <method name="select_set_limit"
               c:identifier="gda_sql_builder_select_set_limit"
               version="4.2">
-        <doc xml:whitespace="preserve">If @limit_count_expr_id is not %0, defines the maximum number of rows 
in the #GdaDataModel
+        <doc xml:space="preserve">If @limit_count_expr_id is not %0, defines the maximum number of rows in 
the #GdaDataModel
 resulting from the execution of the built statement. In this case, the offset from which the
 rows must be collected can be defined by the @limit_offset_expr_id expression if not %0 (note that
 this feature may not be supported by all the database providers).
@@ -21573,15 +22662,15 @@ call to this method.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="limit_count_expr_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the LIMIT expression, or %0</doc>
+            <doc xml:space="preserve">the ID of the LIMIT expression, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
           <parameter name="limit_offset_expr_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the OFFSET expression, or %0</doc>
+            <doc xml:space="preserve">the ID of the OFFSET expression, or %0</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21589,7 +22678,7 @@ call to this method.</doc>
       <method name="set_table"
               c:identifier="gda_sql_builder_set_table"
               version="4.2">
-        <doc xml:whitespace="preserve">Valid only for: INSERT, UPDATE, DELETE statements
+        <doc xml:space="preserve">Valid only for: INSERT, UPDATE, DELETE statements
 
 Sets the name of the table on which the built statement operates.</doc>
         <return-value transfer-ownership="none">
@@ -21597,11 +22686,11 @@ Sets the name of the table on which the built statement operates.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a table name</doc>
+            <doc xml:space="preserve">a table name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -21609,7 +22698,7 @@ Sets the name of the table on which the built statement operates.</doc>
       <method name="set_where"
               c:identifier="gda_sql_builder_set_where"
               version="4.2">
-        <doc xml:whitespace="preserve">Valid only for: UPDATE, DELETE, SELECT statements
+        <doc xml:space="preserve">Valid only for: UPDATE, DELETE, SELECT statements
 
 Sets the WHERE condition of the statement</doc>
         <return-value transfer-ownership="none">
@@ -21617,11 +22706,11 @@ Sets the WHERE condition of the statement</doc>
         </return-value>
         <parameters>
           <instance-parameter name="builder" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlBuilder object</doc>
+            <doc xml:space="preserve">a #GdaSqlBuilder object</doc>
             <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
           </instance-parameter>
           <parameter name="cond_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of the expression to set as WHERE condition, or 0 to unset 
any previous WHERE condition</doc>
+            <doc xml:space="preserve">the ID of the expression to set as WHERE condition, or 0 to unset any 
previous WHERE condition</doc>
             <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
           </parameter>
         </parameters>
@@ -21632,7 +22721,7 @@ Sets the WHERE condition of the statement</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Specifies the type of statement to be built, can only be
+        <doc xml:space="preserve">Specifies the type of statement to be built, can only be
 GDA_SQL_STATEMENT_SELECT, GDA_SQL_STATEMENT_INSERT, GDA_SQL_STATEMENT_UPDATE
 or GDA_SQL_STATEMENT_DELETE</doc>
         <type/>
@@ -21694,24 +22783,29 @@ or GDA_SQL_STATEMENT_DELETE</doc>
             disguised="1">
     </record>
     <record name="SqlCase" c:type="GdaSqlCase" introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents a CASE WHEN... construct</doc>
+      <doc xml:space="preserve">This structure represents a CASE WHEN... construct</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="base_expr" writable="1">
+        <doc xml:space="preserve">expression to test</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </field>
       <field name="when_expr_list" writable="1">
+        <doc xml:space="preserve">list of #GdaSqlExpr, one for each WHEN clause</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="gpointer" c:type="gpointer"/>
         </type>
       </field>
       <field name="then_expr_list" writable="1">
+        <doc xml:space="preserve">list of #GdaSqlExpr, one for each THEN clause</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="gpointer" c:type="gpointer"/>
         </type>
       </field>
       <field name="else_expr" writable="1">
+        <doc xml:space="preserve">default expression for the CASE</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -21787,12 +22881,12 @@ or GDA_SQL_STATEMENT_DELETE</doc>
             glib:type-name="GdaSqlExpr"
             glib:get-type="gda_sql_expr_get_type"
             c:symbol-prefix="sql_expr">
-      <doc xml:whitespace="preserve">This structure contains any expression, either as a value (the @value 
part is set),
+      <doc xml:space="preserve">This structure contains any expression, either as a value (the @value part 
is set),
 a variable (the @param_spec is set), or as other types of expressions.
 
 Note 1 about the @value field: if the expression represents a string value in the SQL statement,
 the string itself must be represented as it would be in the actual SQL, ie. it should be
-escaped (accordingly to the escaping rules of the database which will use the SQL). For 
+escaped (accordingly to the escaping rules of the database which will use the SQL). For
 example a string representing the &lt;userinput&gt;'joe'&lt;/userinput&gt; value should be
 &lt;userinput&gt;"'joe'"&lt;/userinput&gt; and not &lt;userinput&gt;"joe"&lt;/userinput&gt;.
 
@@ -21801,30 +22895,39 @@ or field name), then the @value_is_ident should be set to %TRUE, and @value shou
 which may contain double quotes around SQL identifiers which also are reserved keywords or which
 are case sensitive.</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="value" writable="1">
+        <doc xml:space="preserve">a #GValue, or %NULL. Please see specific note about this field.</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </field>
       <field name="param_spec" writable="1">
+        <doc xml:space="preserve">a #GdaSqlParamSpec, or %NULL if this is not a variable</doc>
         <type c:type="GdaSqlParamSpec*"/>
       </field>
       <field name="func" writable="1">
+        <doc xml:space="preserve">not %NULL if expression is a function or aggregate</doc>
         <type name="SqlFunction" c:type="GdaSqlFunction*"/>
       </field>
       <field name="cond" writable="1">
+        <doc xml:space="preserve">not %NULL if expression is a condition or an operation</doc>
         <type name="SqlOperation" c:type="GdaSqlOperation*"/>
       </field>
       <field name="select" writable="1">
+        <doc xml:space="preserve">not %NULL if expression is a sub select statement (#GdaSqlStatementSelect 
or #GdaSqlStatementCompound)</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
       </field>
       <field name="case_s" writable="1">
+        <doc xml:space="preserve">not %NULL if expression is a CASE WHEN ... expression</doc>
         <type name="SqlCase" c:type="GdaSqlCase*"/>
       </field>
       <field name="cast_as" writable="1">
+        <doc xml:space="preserve">not %NULL if expression must be cast to another data type</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="value_is_ident" writable="1">
+        <doc xml:space="preserve">Please see specific note about the @value field</doc>
         <type name="gboolean" c:type="gboolean"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -21896,7 +22999,7 @@ are case sensitive.</doc>
       </method>
     </record>
     <record name="SqlField" c:type="GdaSqlField" introspectable="0">
-      <doc xml:whitespace="preserve">any: 
+      <doc xml:space="preserve">any:
 This structure represents the name of a table's field.</doc>
       <field name="any" writable="1">
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
@@ -21971,31 +23074,34 @@ This structure represents the name of a table's field.</doc>
               c:type="GdaSqlForeachFunc"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Specifies the type of functions passed to 
gda_sql_any_part_foreach().</doc>
+      <doc xml:space="preserve">Specifies the type of functions passed to gda_sql_any_part_foreach().</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">FALSE if the gda_sql_any_part_foreach() should stop at this point and 
fail</doc>
+        <doc xml:space="preserve">FALSE if the gda_sql_any_part_foreach() should stop at this point and 
fail</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="part" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the current #GdaSqlAnyPart node</doc>
+          <doc xml:space="preserve">the current #GdaSqlAnyPart node</doc>
           <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
         </parameter>
         <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">user data passed to gda_sql_any_part_foreach().</doc>
+          <doc xml:space="preserve">user data passed to gda_sql_any_part_foreach().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
     </callback>
     <record name="SqlFunction" c:type="GdaSqlFunction" introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents a function or an aggregate with zero or more 
arguments.</doc>
+      <doc xml:space="preserve">This structure represents a function or an aggregate with zero or more 
arguments.</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="function_name" writable="1">
+        <doc xml:space="preserve">name of the function , in the form [[catalog.]schema.]function_name</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="args_list" writable="1">
+        <doc xml:space="preserve">list of #GdaSqlExpr expressions, one for each argument</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="gpointer" c:type="gpointer"/>
         </type>
@@ -22091,27 +23197,29 @@ This structure represents the name of a table's field.</doc>
       </function>
     </record>
     <bitfield name="SqlIdentifierStyle" c:type="GdaSqlIdentifierStyle">
-      <doc xml:whitespace="preserve">Specifies how SQL identifiers are represented by a specific 
database</doc>
+      <doc xml:space="preserve">Specifies how SQL identifiers are represented by a specific database</doc>
       <member name="lower_case"
               value="1"
               c:identifier="GDA_SQL_IDENTIFIERS_LOWER_CASE">
-        <doc xml:whitespace="preserve">case insensitive SQL identifiers are represented in lower case 
(meaning that any SQL identifier which has a non lower case character is case sensitive)</doc>
+        <doc xml:space="preserve">case insensitive SQL identifiers are represented in lower case (meaning 
that any SQL identifier which has a non lower case character is case sensitive)</doc>
       </member>
       <member name="upper_case"
               value="2"
               c:identifier="GDA_SQL_IDENTIFIERS_UPPER_CASE">
-        <doc xml:whitespace="preserve">case insensitive SQL identifiers are represented in upper case 
(meaning that any SQL identifier which has a non upper case character is case sensitive)</doc>
+        <doc xml:space="preserve">case insensitive SQL identifiers are represented in upper case (meaning 
that any SQL identifier which has a non upper case character is case sensitive)</doc>
       </member>
     </bitfield>
     <record name="SqlOperation" c:type="GdaSqlOperation" introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents an operation between one or more 
operands.</doc>
+      <doc xml:space="preserve">This structure represents an operation between one or more operands.</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="operator_type" writable="1">
         <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
       </field>
       <field name="operands" writable="1">
+        <doc xml:space="preserve">list of #GdaSqlExpr operands</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="gpointer" c:type="gpointer"/>
         </type>
@@ -22300,9 +23408,9 @@ This structure represents the name of a table's field.</doc>
            glib:type-struct="SqlParserClass">
       <implements name="Lockable"/>
       <constructor name="new" c:identifier="gda_sql_parser_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaSqlParser object</doc>
+        <doc xml:space="preserve">Creates a new #GdaSqlParser object</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="SqlParser" c:type="GdaSqlParser*"/>
         </return-value>
       </constructor>
@@ -22314,7 +23422,7 @@ This structure represents the name of a table's field.</doc>
       <method name="parse_file_as_batch"
               c:identifier="gda_sql_parser_parse_file_as_batch"
               throws="1">
-        <doc xml:whitespace="preserve">Parse @filename's contents and creates a #GdaBatch object which 
contains all the
+        <doc xml:space="preserve">Parse @filename's contents and creates a #GdaBatch object which contains 
all the
  #GdaStatement objects created while parsing (one object per SQL statement).
 
 @filename's contents are parsed and #GdaStatement objects are created as long as no error is found. If an 
error is found
@@ -22322,16 +23430,16 @@ at some point, then the parsing stops, @error may be set and %NULL is returned
 
 if @sql is %NULL, then the returned #GdaBatch object will contain no statement.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaBatch object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaBatch object, or %NULL if an error occurred</doc>
           <type name="Batch" c:type="GdaBatch*"/>
         </return-value>
         <parameters>
           <instance-parameter name="parser" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlParser object</doc>
+            <doc xml:space="preserve">a #GdaSqlParser object</doc>
             <type name="SqlParser" c:type="GdaSqlParser*"/>
           </instance-parameter>
           <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the file to parse</doc>
+            <doc xml:space="preserve">name of the file to parse</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -22339,31 +23447,32 @@ if @sql is %NULL, then the returned #GdaBatch object will contain no statement.<
       <method name="parse_string"
               c:identifier="gda_sql_parser_parse_string"
               throws="1">
-        <doc xml:whitespace="preserve">Parses @sql and creates a #GdaStatement statement from the first SQL 
statement contained in @sql: if @sql
+        <doc xml:space="preserve">Parses @sql and creates a #GdaStatement statement from the first SQL 
statement contained in @sql: if @sql
 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
 &lt;link linkend="GdaSqlParser.description"&gt;GdaSqlParser's object description&lt;/link&gt;.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaStatement object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaStatement object, or %NULL if an error occurred</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </return-value>
         <parameters>
           <instance-parameter name="parser" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlParser object</doc>
+            <doc xml:space="preserve">a #GdaSqlParser object</doc>
             <type name="SqlParser" c:type="GdaSqlParser*"/>
           </instance-parameter>
           <parameter name="sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the SQL string to parse</doc>
+            <doc xml:space="preserve">the SQL string to parse</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="remain"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">location to store a pointer to remaining part of @sql in case 
@sql has multiple statement, or %NULL</doc>
+            <doc xml:space="preserve">location to store a pointer to remaining part of @sql in case @sql has 
multiple statement, or %NULL</doc>
             <type name="utf8" c:type="const gchar**"/>
           </parameter>
         </parameters>
@@ -22371,7 +23480,7 @@ To include variables in the @sql string, see the
       <method name="parse_string_as_batch"
               c:identifier="gda_sql_parser_parse_string_as_batch"
               throws="1">
-        <doc xml:whitespace="preserve">Parse @sql and creates a #GdaBatch object which contains all the 
#GdaStatement objects created while parsing (one object
+        <doc xml:space="preserve">Parse @sql and creates a #GdaBatch object which contains all the 
#GdaStatement objects created while parsing (one object
 per SQL statement). Empty statements (composed of spaces only) do not appear in the resulting object.
 
 @sql is parsed and #GdaStatement objects are created as long as no error is found in @sql. If an error is 
found
@@ -22383,24 +23492,25 @@ if @sql is %NULL, then the returned #GdaBatch object will contain no statement.
 To include variables in the @sql string, see the
 &lt;link linkend="GdaSqlParser.description"&gt;GdaSqlParser's object description&lt;/link&gt;.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaBatch object, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaBatch object, or %NULL if an error occurred</doc>
           <type name="Batch" c:type="GdaBatch*"/>
         </return-value>
         <parameters>
           <instance-parameter name="parser" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlParser object</doc>
+            <doc xml:space="preserve">a #GdaSqlParser object</doc>
             <type name="SqlParser" c:type="GdaSqlParser*"/>
           </instance-parameter>
           <parameter name="sql" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the SQL string to parse</doc>
+            <doc xml:space="preserve">the SQL string to parse</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="remain"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">location to store a pointer to remaining part of @sql in case an 
error occurred while parsing @sql, or %NULL</doc>
+            <doc xml:space="preserve">location to store a pointer to remaining part of @sql in case an error 
occurred while parsing @sql, or %NULL</doc>
             <type name="utf8" c:type="const gchar**"/>
           </parameter>
         </parameters>
@@ -22496,8 +23606,8 @@ To include variables in the @sql string, see the
           </parameters>
         </callback>
       </field>
-      <field name="delim_parse" introspectable="0">
-        <callback name="delim_parse" introspectable="0">
+      <field name="delim_parse">
+        <callback name="delim_parse">
           <return-value transfer-ownership="none">
             <type name="none" c:type="void"/>
           </return-value>
@@ -22512,7 +23622,7 @@ To include variables in the @sql string, see the
               <type name="GObject.Value" c:type="GValue*"/>
             </parameter>
             <parameter name="iface" transfer-ownership="none">
-              <type c:type="GdaSqlParserIface*"/>
+              <type name="SqlParserIface" c:type="GdaSqlParserIface*"/>
             </parameter>
           </parameters>
         </callback>
@@ -22562,8 +23672,8 @@ To include variables in the @sql string, see the
           </parameters>
         </callback>
       </field>
-      <field name="parser_parse" introspectable="0">
-        <callback name="parser_parse" introspectable="0">
+      <field name="parser_parse">
+        <callback name="parser_parse">
           <return-value transfer-ownership="none">
             <type name="none" c:type="void"/>
           </return-value>
@@ -22578,7 +23688,7 @@ To include variables in the @sql string, see the
               <type name="GObject.Value" c:type="GValue*"/>
             </parameter>
             <parameter name="iface" transfer-ownership="none">
-              <type c:type="GdaSqlParserIface*"/>
+              <type name="SqlParserIface" c:type="GdaSqlParserIface*"/>
             </parameter>
           </parameters>
         </callback>
@@ -22651,6 +23761,20 @@ To include variables in the @sql string, see the
               c:identifier="GDA_SQL_PARSER_FLAVOUR_POSTGRESQL">
       </member>
     </enumeration>
+    <record name="SqlParserIface" c:type="GdaSqlParserIface">
+      <field name="parser" writable="1">
+        <type name="SqlParser" c:type="GdaSqlParser*"/>
+      </field>
+      <field name="parsed_statement" writable="1">
+        <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+      </field>
+      <field name="_gda_reserved1" readable="0" private="1">
+        <type name="gpointer" c:type="gpointer"/>
+      </field>
+      <field name="_gda_reserved2" readable="0" private="1">
+        <type name="gpointer" c:type="gpointer"/>
+      </field>
+    </record>
     <enumeration name="SqlParserMode" c:type="GdaSqlParserMode">
       <member name="parse" value="0" c:identifier="GDA_SQL_PARSER_MODE_PARSE">
       </member>
@@ -22662,100 +23786,131 @@ To include variables in the @sql string, see the
     <record name="SqlParserPrivate" c:type="GdaSqlParserPrivate" disguised="1">
     </record>
     <record name="SqlRenderingContext" c:type="GdaSqlRenderingContext">
-      <doc xml:whitespace="preserve">Specifies the context in which a #GdaSqlStatement is being converted to 
SQL.</doc>
+      <doc xml:space="preserve">Specifies the context in which a #GdaSqlStatement is being converted to 
SQL.</doc>
       <field name="flags" writable="1">
+        <doc xml:space="preserve">Global rendering options</doc>
         <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
       </field>
       <field name="params" writable="1">
+        <doc xml:space="preserve">Parameters to be used while doing the rendering</doc>
         <type name="Set" c:type="GdaSet*"/>
       </field>
       <field name="params_used" writable="1">
+        <doc xml:space="preserve">When rendering is complete, contains the ordered list of parameters which 
have been used while doing the rendering</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="gpointer" c:type="gpointer"/>
         </type>
       </field>
       <field name="provider" writable="1">
+        <doc xml:space="preserve">Pointer to the server provider to be used</doc>
         <type name="ServerProvider" c:type="GdaServerProvider*"/>
       </field>
       <field name="cnc" writable="1">
+        <doc xml:space="preserve">Pointer to the connection to be used</doc>
         <type name="Connection" c:type="GdaConnection*"/>
       </field>
       <field name="render_value" writable="1">
+        <doc xml:space="preserve">function to render a #GValue</doc>
         <type name="SqlRenderingValue" c:type="GdaSqlRenderingValue"/>
       </field>
       <field name="render_param_spec" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlParamSpec</doc>
         <type name="SqlRenderingPSpecFunc" c:type="GdaSqlRenderingPSpecFunc"/>
       </field>
       <field name="render_expr" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlExpr</doc>
         <type name="SqlRenderingExpr" c:type="GdaSqlRenderingExpr"/>
       </field>
       <field name="render_unknown" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlStatementUnknown</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_begin" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a BEGIN #GdaSqlStatementTransaction</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_rollback" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a ROLLBACK #GdaSqlStatementTransaction</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_commit" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a COMMIT #GdaSqlStatementTransaction</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_savepoint" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a ADD SAVEPOINT #GdaSqlStatementTransaction</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_rollback_savepoint" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a ROLBACK SAVEPOINT #GdaSqlStatementTransaction</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_delete_savepoint" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a DELETE SAVEPOINT #GdaSqlStatementTransaction</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_select" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlStatementSelect</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_insert" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlStatementInsert</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_delete" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlStatementDelete</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_update" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlStatementUpdate</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_compound" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlStatementCompound</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_field" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlField</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_table" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlTable</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_function" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlFunction</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_operation" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlOperation</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_case" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlCase</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_select_field" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlSelectField</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_select_target" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlSelectTarget</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_select_join" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlSelectJoin</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_select_from" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlSelectFrom</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_select_order" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render a #GdaSqlSelectOrder</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="render_distinct" introspectable="0" writable="1">
+        <doc xml:space="preserve">function to render the DISTINCT clause in a SELECT</doc>
         <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
       </field>
       <field name="_gda_reserved1" introspectable="0">
@@ -22812,26 +23967,26 @@ To include variables in the @sql string, see the
               c:type="GdaSqlRenderingExpr"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Rendering function type to render a #GdaSqlExpr</doc>
+      <doc xml:space="preserve">Rendering function type to render a #GdaSqlExpr</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+        <doc xml:space="preserve">a new string, or %NULL if an error occurred</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="expr" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#GdaSqlExpr to render</doc>
+          <doc xml:space="preserve">#GdaSqlExpr to render</doc>
           <type name="SqlExpr" c:type="GdaSqlExpr*"/>
         </parameter>
         <parameter name="context" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rendering context</doc>
+          <doc xml:space="preserve">the rendering context</doc>
           <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
         </parameter>
         <parameter name="is_default" transfer-ownership="none">
-          <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as a default value</doc>
+          <doc xml:space="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as a default value</doc>
           <type name="gboolean" c:type="gboolean*"/>
         </parameter>
         <parameter name="is_null" transfer-ownership="none">
-          <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as NULL</doc>
+          <doc xml:space="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as NULL</doc>
           <type name="gboolean" c:type="gboolean*"/>
         </parameter>
       </parameters>
@@ -22840,18 +23995,18 @@ To include variables in the @sql string, see the
               c:type="GdaSqlRenderingFunc"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Function to render any #GdaSqlAnyPart.</doc>
+      <doc xml:space="preserve">Function to render any #GdaSqlAnyPart.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+        <doc xml:space="preserve">a new string, or %NULL if an error occurred</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaSqlAnyPart pointer, to be cast to the correct type depending 
on which part the function has to render</doc>
+          <doc xml:space="preserve">a #GdaSqlAnyPart pointer, to be cast to the correct type depending on 
which part the function has to render</doc>
           <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
         </parameter>
         <parameter name="context" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rendering context</doc>
+          <doc xml:space="preserve">the rendering context</doc>
           <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
         </parameter>
       </parameters>
@@ -22860,30 +24015,33 @@ To include variables in the @sql string, see the
               c:type="GdaSqlRenderingPSpecFunc"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Rendering function type to render a #GdaSqlParamSpec</doc>
+      <doc xml:space="preserve">Rendering function type to render a #GdaSqlParamSpec</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+        <doc xml:space="preserve">a new string, or %NULL if an error occurred</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="pspec" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#GdaSqlParamSpec to render</doc>
+          <doc xml:space="preserve">#GdaSqlParamSpec to render</doc>
           <type c:type="GdaSqlParamSpec*"/>
         </parameter>
-        <parameter name="expr" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">#GdaSqlExpr which may hold the default value for the parameter, or 
%NULL</doc>
+        <parameter name="expr"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">#GdaSqlExpr which may hold the default value for the parameter, or 
%NULL</doc>
           <type name="SqlExpr" c:type="GdaSqlExpr*"/>
         </parameter>
         <parameter name="context" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rendering context</doc>
+          <doc xml:space="preserve">the rendering context</doc>
           <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
         </parameter>
         <parameter name="is_default" transfer-ownership="none">
-          <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as a default value</doc>
+          <doc xml:space="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as a default value</doc>
           <type name="gboolean" c:type="gboolean*"/>
         </parameter>
         <parameter name="is_null" transfer-ownership="none">
-          <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as NULL</doc>
+          <doc xml:space="preserve">pointer to a #gboolean which is set to TRUE if value should be 
considered as NULL</doc>
           <type name="gboolean" c:type="gboolean*"/>
         </parameter>
       </parameters>
@@ -22891,18 +24049,18 @@ To include variables in the @sql string, see the
     <callback name="SqlRenderingValue"
               c:type="GdaSqlRenderingValue"
               throws="1">
-      <doc xml:whitespace="preserve">Rendering function type to render a #GValue</doc>
+      <doc xml:space="preserve">Rendering function type to render a #GValue</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+        <doc xml:space="preserve">a new string, or %NULL if an error occurred</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GValue to render</doc>
+          <doc xml:space="preserve">the #GValue to render</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
         <parameter name="context" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rendering context</doc>
+          <doc xml:space="preserve">the rendering context</doc>
           <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
         </parameter>
       </parameters>
@@ -22921,23 +24079,28 @@ To include variables in the @sql string, see the
     <record name="SqlSelectField"
             c:type="GdaSqlSelectField"
             introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents a selected item in a SELECT statement (when 
executed, the returned data set
-will have one column per selected item). Note that the @table_name and 
+      <doc xml:space="preserve">This structure represents a selected item in a SELECT statement (when 
executed, the returned data set
+will have one column per selected item). Note that the @table_name and
 @field_name field parts &lt;emphasis&gt;will be&lt;/emphasis&gt; overwritten by &amp;LIBGDA;,
 set the value of @expr-&gt;value instead.</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="expr" writable="1">
+        <doc xml:space="preserve">expression</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </field>
       <field name="field_name" writable="1">
+        <doc xml:space="preserve">field name part of @expr if @expr represents a field</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="table_name" writable="1">
+        <doc xml:space="preserve">table name part of @expr if @expr represents a field</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="as" writable="1">
+        <doc xml:space="preserve">alias</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="validity_meta_object" writable="1">
@@ -23040,16 +24203,19 @@ set the value of @expr-&gt;value instead.</doc>
       </function>
     </record>
     <record name="SqlSelectFrom" c:type="GdaSqlSelectFrom" introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents the FROM clause of a SELECT statement, it 
lists targets and joins</doc>
+      <doc xml:space="preserve">This structure represents the FROM clause of a SELECT statement, it lists 
targets and joins</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="targets" writable="1">
+        <doc xml:space="preserve">list of #GdaSqlSelectTarget</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="SqlSelectTarget"/>
         </type>
       </field>
       <field name="joins" writable="1">
+        <doc xml:space="preserve">list of #GdaSqlSelectJoin</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="SqlSelectJoin"/>
         </type>
@@ -23136,20 +24302,25 @@ set the value of @expr-&gt;value instead.</doc>
       </function>
     </record>
     <record name="SqlSelectJoin" c:type="GdaSqlSelectJoin" introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents a join between two targets in a SELECT 
statement.</doc>
+      <doc xml:space="preserve">This structure represents a join between two targets in a SELECT 
statement.</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="type" writable="1">
+        <doc xml:space="preserve">type of join</doc>
         <type name="SqlSelectJoinType" c:type="GdaSqlSelectJoinType"/>
       </field>
       <field name="position" writable="1">
+        <doc xml:space="preserve">represents a join between a target at (pos &amp;lt; @position) and the one 
at @position</doc>
         <type name="gint" c:type="gint"/>
       </field>
       <field name="expr" writable="1">
+        <doc xml:space="preserve">joining expression, or %NULL</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </field>
       <field name="use" writable="1">
+        <doc xml:space="preserve">list of #GdaSqlField pointers to use when joining, or %NULL</doc>
         <type name="GLib.SList" c:type="GSList*">
           <type name="gpointer" c:type="gpointer"/>
         </type>
@@ -23235,17 +24406,21 @@ set the value of @expr-&gt;value instead.</doc>
     <record name="SqlSelectOrder"
             c:type="GdaSqlSelectOrder"
             introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents the ordering of a SELECT statement.</doc>
+      <doc xml:space="preserve">This structure represents the ordering of a SELECT statement.</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="expr" writable="1">
+        <doc xml:space="preserve">expression to order on</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </field>
       <field name="asc" writable="1">
+        <doc xml:space="preserve">TRUE is ordering is ascending</doc>
         <type name="gboolean" c:type="gboolean"/>
       </field>
       <field name="collation_name" writable="1">
+        <doc xml:space="preserve">name of the collation to use for ordering</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="_gda_reserved1" readable="0" private="1">
@@ -23302,20 +24477,24 @@ set the value of @expr-&gt;value instead.</doc>
     <record name="SqlSelectTarget"
             c:type="GdaSqlSelectTarget"
             introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents a target used to fetch data from in a SELECT 
statement; it can represent a table or
+      <doc xml:space="preserve">This structure represents a target used to fetch data from in a SELECT 
statement; it can represent a table or
 a sub select. Note that the @table_name
 part &lt;emphasis&gt;will be&lt;/emphasis&gt; overwritten by &amp;LIBGDA;,
 set the value of @expr-&gt;value instead.</doc>
       <field name="any" writable="1">
+        <doc xml:space="preserve">inheritance structure</doc>
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
       <field name="expr" writable="1">
+        <doc xml:space="preserve">expression</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </field>
       <field name="table_name" writable="1">
+        <doc xml:space="preserve">table name part of @expr if @expr represents a table</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="as" writable="1">
+        <doc xml:space="preserve">alias</doc>
         <type name="utf8" c:type="gchar*"/>
       </field>
       <field name="validity_meta_object" writable="1">
@@ -23448,7 +24627,7 @@ set the value of @expr-&gt;value instead.</doc>
     <record name="SqlStatementCheckValidityData"
             c:type="GdaSqlStatementCheckValidityData"
             introspectable="0">
-      <doc xml:whitespace="preserve">Validation against a dictionary</doc>
+      <doc xml:space="preserve">Validation against a dictionary</doc>
       <field name="cnc" writable="1">
         <type name="Connection" c:type="GdaConnection*"/>
       </field>
@@ -23523,7 +24702,7 @@ set the value of @expr-&gt;value instead.</doc>
     <record name="SqlStatementContentsInfo"
             c:type="GdaSqlStatementContentsInfo"
             introspectable="0">
-      <doc xml:whitespace="preserve">Contents' infos</doc>
+      <doc xml:space="preserve">Contents' infos</doc>
       <field name="type" writable="1">
         <type name="SqlStatementType" c:type="GdaSqlStatementType"/>
       </field>
@@ -23609,57 +24788,57 @@ set the value of @expr-&gt;value instead.</doc>
             disguised="1">
     </record>
     <enumeration name="SqlStatementType" c:type="GdaSqlStatementType">
-      <doc xml:whitespace="preserve">Known types of statements</doc>
+      <doc xml:space="preserve">Known types of statements</doc>
       <member name="select" value="0" c:identifier="GDA_SQL_STATEMENT_SELECT">
-        <doc xml:whitespace="preserve">a SELECT statement</doc>
+        <doc xml:space="preserve">a SELECT statement</doc>
       </member>
       <member name="insert" value="1" c:identifier="GDA_SQL_STATEMENT_INSERT">
-        <doc xml:whitespace="preserve">an INSERT statement</doc>
+        <doc xml:space="preserve">an INSERT statement</doc>
       </member>
       <member name="update" value="2" c:identifier="GDA_SQL_STATEMENT_UPDATE">
-        <doc xml:whitespace="preserve">an UPDATE statement</doc>
+        <doc xml:space="preserve">an UPDATE statement</doc>
       </member>
       <member name="delete" value="3" c:identifier="GDA_SQL_STATEMENT_DELETE">
-        <doc xml:whitespace="preserve">a DELETE statement</doc>
+        <doc xml:space="preserve">a DELETE statement</doc>
       </member>
       <member name="compound"
               value="4"
               c:identifier="GDA_SQL_STATEMENT_COMPOUND">
-        <doc xml:whitespace="preserve">a compound statement: multiple SELECT statements grouped together 
using an operator</doc>
+        <doc xml:space="preserve">a compound statement: multiple SELECT statements grouped together using an 
operator</doc>
       </member>
       <member name="begin" value="5" c:identifier="GDA_SQL_STATEMENT_BEGIN">
-        <doc xml:whitespace="preserve">start of transaction statement</doc>
+        <doc xml:space="preserve">start of transaction statement</doc>
       </member>
       <member name="rollback"
               value="6"
               c:identifier="GDA_SQL_STATEMENT_ROLLBACK">
-        <doc xml:whitespace="preserve">transaction abort statement</doc>
+        <doc xml:space="preserve">transaction abort statement</doc>
       </member>
       <member name="commit" value="7" c:identifier="GDA_SQL_STATEMENT_COMMIT">
-        <doc xml:whitespace="preserve">transaction commit statement</doc>
+        <doc xml:space="preserve">transaction commit statement</doc>
       </member>
       <member name="savepoint"
               value="8"
               c:identifier="GDA_SQL_STATEMENT_SAVEPOINT">
-        <doc xml:whitespace="preserve">new savepoint definition statement</doc>
+        <doc xml:space="preserve">new savepoint definition statement</doc>
       </member>
       <member name="rollback_savepoint"
               value="9"
               c:identifier="GDA_SQL_STATEMENT_ROLLBACK_SAVEPOINT">
-        <doc xml:whitespace="preserve">return to savepoint statement</doc>
+        <doc xml:space="preserve">return to savepoint statement</doc>
       </member>
       <member name="delete_savepoint"
               value="10"
               c:identifier="GDA_SQL_STATEMENT_DELETE_SAVEPOINT">
-        <doc xml:whitespace="preserve">savepoint deletion statement</doc>
+        <doc xml:space="preserve">savepoint deletion statement</doc>
       </member>
       <member name="unknown"
               value="11"
               c:identifier="GDA_SQL_STATEMENT_UNKNOWN">
-        <doc xml:whitespace="preserve">unknown statement, only identifies variables</doc>
+        <doc xml:space="preserve">unknown statement, only identifies variables</doc>
       </member>
       <member name="none" value="12" c:identifier="GDA_SQL_STATEMENT_NONE">
-        <doc xml:whitespace="preserve">not used</doc>
+        <doc xml:space="preserve">not used</doc>
       </member>
     </enumeration>
     <record name="SqlStatementUnknown"
@@ -23671,7 +24850,7 @@ set the value of @expr-&gt;value instead.</doc>
             disguised="1">
     </record>
     <record name="SqlTable" c:type="GdaSqlTable" introspectable="0">
-      <doc xml:whitespace="preserve">This structure represents the name of a table.</doc>
+      <doc xml:space="preserve">This structure represents the name of a table.</doc>
       <field name="any" writable="1">
         <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
       </field>
@@ -23749,9 +24928,9 @@ set the value of @expr-&gt;value instead.</doc>
            glib:get-type="gda_statement_get_type"
            glib:type-struct="StatementClass">
       <constructor name="new" c:identifier="gda_statement_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaStatement object</doc>
+        <doc xml:space="preserve">Creates a new #GdaStatement object</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the new object</doc>
+          <doc xml:space="preserve">the new object</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </return-value>
       </constructor>
@@ -23789,14 +24968,14 @@ set the value of @expr-&gt;value instead.</doc>
       <method name="check_structure"
               c:identifier="gda_statement_check_structure"
               throws="1">
-        <doc xml:whitespace="preserve">Checks that @stmt's structure is correct.</doc>
+        <doc xml:space="preserve">Checks that @stmt's structure is correct.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if @stmt's structure is correct</doc>
+          <doc xml:space="preserve">TRUE if @stmt's structure is correct</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
         </parameters>
@@ -23804,36 +24983,39 @@ set the value of @expr-&gt;value instead.</doc>
       <method name="check_validity"
               c:identifier="gda_statement_check_validity"
               throws="1">
-        <doc xml:whitespace="preserve">If @cnc is not %NULL then checks that every object (table, field, 
function) used in @stmt 
+        <doc xml:space="preserve">If @cnc is not %NULL then checks that every object (table, field, 
function) used in @stmt
 actually exists in @cnc's database
 
 If @cnc is %NULL, then cleans anything related to @cnc in @stmt.
 
 See gda_sql_statement_check_validity() for more information.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if every object actually exists in @cnc's database</doc>
+          <doc xml:space="preserve">TRUE if every object actually exists in @cnc's database</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
       </method>
       <method name="copy" c:identifier="gda_statement_copy">
-        <doc xml:whitespace="preserve">Copy constructor</doc>
+        <doc xml:space="preserve">Copy constructor</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a the new copy of @orig</doc>
+          <doc xml:space="preserve">a the new copy of @orig</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </return-value>
         <parameters>
           <instance-parameter name="orig" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement to make a copy of</doc>
+            <doc xml:space="preserve">a #GdaStatement to make a copy of</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
         </parameters>
@@ -23841,54 +25023,55 @@ See gda_sql_statement_check_validity() for more information.</doc>
       <method name="get_parameters"
               c:identifier="gda_statement_get_parameters"
               throws="1">
-        <doc xml:whitespace="preserve">Get a new #GdaSet object which groups all the execution parameters
+        <doc xml:space="preserve">Get a new #GdaSet object which groups all the execution parameters
 which @stmt needs. This new object is returned though @out_params.
 
 Note that if @stmt does not need any parameter, then @out_params is set to %NULL.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
           <parameter name="out_params"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store a new #GdaSet object, or %NULL</doc>
+            <doc xml:space="preserve">a place to store a new #GdaSet object, or %NULL</doc>
             <type name="Set" c:type="GdaSet**"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_statement_type"
               c:identifier="gda_statement_get_statement_type">
-        <doc xml:whitespace="preserve">Get the type of statement held by @stmt. It returns 
GDA_SQL_STATEMENT_NONE if
+        <doc xml:space="preserve">Get the type of statement held by @stmt. It returns GDA_SQL_STATEMENT_NONE 
if
 @stmt does not hold any statement</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the statement type</doc>
+          <doc xml:space="preserve">the statement type</doc>
           <type name="SqlStatementType" c:type="GdaSqlStatementType"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="is_useless" c:identifier="gda_statement_is_useless">
-        <doc xml:whitespace="preserve">Tells if @stmt is composed only of spaces (that is it has no real SQL 
code), and is completely
+        <doc xml:space="preserve">Tells if @stmt is composed only of spaces (that is it has no real SQL 
code), and is completely
 useless as such.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if executing @stmt does nothing</doc>
+          <doc xml:space="preserve">TRUE if executing @stmt does nothing</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
         </parameters>
@@ -23896,19 +25079,19 @@ useless as such.</doc>
       <method name="normalize"
               c:identifier="gda_statement_normalize"
               throws="1">
-        <doc xml:whitespace="preserve">"Normalizes" some parts of @stmt, see gda_sql_statement_normalize() 
for more
+        <doc xml:space="preserve">"Normalizes" some parts of @stmt, see gda_sql_statement_normalize() for 
more
 information.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -23918,7 +25101,7 @@ information.</doc>
               version="4.2"
               introspectable="0"
               throws="1">
-        <doc xml:whitespace="preserve">Rewrites @stmt and creates a new #GdaSqlStatement where all the 
variables which are to a DEFAULT value
+        <doc xml:space="preserve">Rewrites @stmt and creates a new #GdaSqlStatement where all the variables 
which are to a DEFAULT value
 (as returned by gda_holder_value_is_default()) are either removed from the statement (if @remove
 is %TRUE) or replaced by the "DEFAULT" keyword (if @remove is %FALSE).
 
@@ -23931,33 +25114,33 @@ is re-written into &lt;programlisting&gt;&lt;![CDATA[INSERT INTO mytable (id, na
 if @remove is %FALSE and into &lt;programlisting&gt;&lt;![CDATA[INSERT INTO mytable (id) VALUES 
(23)]]&gt;&lt;/programlisting&gt;
 if @remove is %TRUE.</doc>
         <return-value>
-          <doc xml:whitespace="preserve">a new #GdaSqlStatement, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new #GdaSqlStatement, or %NULL if an error occurred</doc>
           <type name="SqlStatement" c:type="GdaSqlStatement*"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
           <parameter name="params" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet containing the variable's values to be bound when 
executing @stmt</doc>
+            <doc xml:space="preserve">a #GdaSet containing the variable's values to be bound when executing 
@stmt</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="remove" transfer-ownership="none">
-            <doc xml:whitespace="preserve">set to %TRUE if DEFAULT fields are removed, of %FALSE if the 
"DEFAULT" keyword is used</doc>
+            <doc xml:space="preserve">set to %TRUE if DEFAULT fields are removed, of %FALSE if the "DEFAULT" 
keyword is used</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
       </method>
       <method name="serialize" c:identifier="gda_statement_serialize">
-        <doc xml:whitespace="preserve">Creates a string representing the contents of @stmt.</doc>
+        <doc xml:space="preserve">Creates a string representing the contents of @stmt.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a string containing the serialized version of @stmt</doc>
+          <doc xml:space="preserve">a string containing the serialized version of @stmt</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
         </parameters>
@@ -23965,38 +25148,45 @@ if @remove is %TRUE.</doc>
       <method name="to_sql_extended"
               c:identifier="gda_statement_to_sql_extended"
               throws="1">
-        <doc xml:whitespace="preserve">Renders @stmt as an SQL statement, with some control on how it is 
rendered.
+        <doc xml:space="preserve">Renders @stmt as an SQL statement, with some control on how it is rendered.
 
 If @cnc is not %NULL, then the rendered SQL will better be suited to be used by @cnc (in particular
 it may include some SQL tweaks and/or proprietary extensions specific to the database engine used by @cnc):
 in this case the result is similar to calling gda_connection_statement_to_sql().</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string if no error occurred</doc>
+          <doc xml:space="preserve">a new string if no error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
-          <parameter name="cnc" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+          <parameter name="cnc"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
-          <parameter name="params" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">parameters contained in a single #GdaSet object, or %NULL</doc>
+          <parameter name="params"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">parameters contained in a single #GdaSet object, or %NULL</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
           <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a set of flags to control the rendering</doc>
+            <doc xml:space="preserve">a set of flags to control the rendering</doc>
             <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
           </parameter>
           <parameter name="params_used"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="container"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store the list of actual #GdaHolder objects in @params 
used to do the rendering, or %NULL</doc>
+            <doc xml:space="preserve">a place to store the list of actual #GdaHolder objects in @params used 
to do the rendering, or %NULL</doc>
             <type name="GLib.SList" c:type="GSList**">
               <type name="Holder"/>
             </type>
@@ -24006,21 +25196,21 @@ in this case the result is similar to calling gda_connection_statement_to_sql().
       <method name="to_sql_real"
               c:identifier="gda_statement_to_sql_real"
               throws="1">
-        <doc xml:whitespace="preserve">Renders @stmt to its SQL representation, using @context to specify 
how each part of @stmt must
+        <doc xml:space="preserve">Renders @stmt to its SQL representation, using @context to specify how 
each part of @stmt must
 be rendered. This function is mainly used by database provider's implementations which require
 to specialize some aspects of SQL rendering to be adapted to the database,'s own SQL dialect
 (for example SQLite rewrites the 'FALSE' and 'TRUE' literals as '0' and 'NOT 0').</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+          <doc xml:space="preserve">a new string, or %NULL if an error occurred</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+            <doc xml:space="preserve">a #GdaStatement object</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </instance-parameter>
           <parameter name="context" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSqlRenderingContext context</doc>
+            <doc xml:space="preserve">a #GdaSqlRenderingContext context</doc>
             <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
           </parameter>
         </parameters>
@@ -24035,7 +25225,7 @@ to specialize some aspects of SQL rendering to be adapted to the database,'s own
         <type name="StatementPrivate" c:type="GdaStatementPrivate*"/>
       </field>
       <glib:signal name="checked" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever the structure and contents
+        <doc xml:space="preserve">Gets emitted whenever the structure and contents
 of @stmt have been verified (emitted after gda_statement_check_validity()).</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -24050,7 +25240,7 @@ of @stmt have been verified (emitted after gda_statement_check_validity()).</doc
         </parameters>
       </glib:signal>
       <glib:signal name="reset" when="first">
-        <doc xml:whitespace="preserve">Gets emitted whenever the @stmt has changed</doc>
+        <doc xml:space="preserve">Gets emitted whenever the @stmt has changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -24152,79 +25342,84 @@ of @stmt have been verified (emitted after gda_statement_check_validity()).</doc
       </member>
     </enumeration>
     <bitfield name="StatementModelUsage" c:type="GdaStatementModelUsage">
-      <doc xml:whitespace="preserve">These flags specify how the #GdaDataModel returned when executing a 
#GdaStatement will be used</doc>
+      <doc xml:space="preserve">These flags specify how the #GdaDataModel returned when executing a 
#GdaStatement will be used</doc>
       <member name="random_access"
               value="1"
               c:identifier="GDA_STATEMENT_MODEL_RANDOM_ACCESS">
-        <doc xml:whitespace="preserve">access to the data model will be random (usually this will result in 
a data model completely stored in memory)</doc>
+        <doc xml:space="preserve">access to the data model will be random (usually this will result in a 
data model completely stored in memory)</doc>
       </member>
       <member name="cursor_forward"
               value="2"
               c:identifier="GDA_STATEMENT_MODEL_CURSOR_FORWARD">
-        <doc xml:whitespace="preserve">access to the data model will be done using a cursor moving 
forward</doc>
+        <doc xml:space="preserve">access to the data model will be done using a cursor moving forward</doc>
       </member>
       <member name="cursor_backward"
               value="4"
               c:identifier="GDA_STATEMENT_MODEL_CURSOR_BACKWARD">
-        <doc xml:whitespace="preserve">access to the data model will be done using a cursor moving 
backward</doc>
+        <doc xml:space="preserve">access to the data model will be done using a cursor moving backward</doc>
       </member>
       <member name="cursor"
               value="6"
               c:identifier="GDA_STATEMENT_MODEL_CURSOR">
-        <doc xml:whitespace="preserve">access to the data model will be done using a cursor (moving both 
forward and backward)</doc>
+        <doc xml:space="preserve">access to the data model will be done using a cursor (moving both forward 
and backward)</doc>
       </member>
       <member name="allow_noparam"
               value="8"
               c:identifier="GDA_STATEMENT_MODEL_ALLOW_NOPARAM">
-        <doc xml:whitespace="preserve">specifies that the data model should be executed even if some 
parameters required to execute it are invalid (in this case the data model will have no row, and will 
automatically be re-run when the missing parameters are once again valid)</doc>
+        <doc xml:space="preserve">specifies that the data model should be executed even if some parameters 
required to execute it are invalid (in this case the data model will have no row, and will automatically be 
re-run when the missing parameters are once again valid)</doc>
       </member>
       <member name="offline"
               value="16"
               c:identifier="GDA_STATEMENT_MODEL_OFFLINE">
-        <doc xml:whitespace="preserve">specifies that the data model's contents will be fully loaded into 
the client side (the memory of the process using Libgda), not requiring the server any more to access the 
data (the default behaviour is to access the server any time data is to be read, and data is cached in 
memory). This flag is useful only if used in conjunction with the GDA_STATEMENT_MODEL_RANDOM_ACCESS flag 
(otherwise an error will be returned).</doc>
+        <doc xml:space="preserve">specifies that the data model's contents will be fully loaded into the 
client side (the memory of the process using Libgda), not requiring the server any more to access the data 
(the default behaviour is to access the server any time data is to be read, and data is cached in memory). 
This flag is useful only if used in conjunction with the GDA_STATEMENT_MODEL_RANDOM_ACCESS flag (otherwise an 
error will be returned).</doc>
       </member>
     </bitfield>
     <record name="StatementPrivate" c:type="GdaStatementPrivate" disguised="1">
     </record>
     <bitfield name="StatementSqlFlag" c:type="GdaStatementSqlFlag">
-      <doc xml:whitespace="preserve">Specifies rendering options</doc>
+      <doc xml:space="preserve">Specifies rendering options</doc>
       <member name="params_as_values"
               value="0"
               c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_VALUES">
-        <doc xml:whitespace="preserve">rendering will replace parameters with their values</doc>
+        <doc xml:space="preserve">rendering will replace parameters with their values</doc>
       </member>
       <member name="pretty" value="1" c:identifier="GDA_STATEMENT_SQL_PRETTY">
-        <doc xml:whitespace="preserve">rendering will include newlines and indentation to make it easy to 
read</doc>
+        <doc xml:space="preserve">rendering will include newlines and indentation to make it easy to 
read</doc>
       </member>
       <member name="params_long"
               value="2"
               c:identifier="GDA_STATEMENT_SQL_PARAMS_LONG">
-        <doc xml:whitespace="preserve">parameters will be rendered using the "/&amp;ast; 
name:&amp;lt;param_name&amp;gt; ... &amp;ast;/" syntax</doc>
+        <doc xml:space="preserve">parameters will be rendered using the "/&amp;ast; 
name:&amp;lt;param_name&amp;gt; ... &amp;ast;/" syntax</doc>
       </member>
       <member name="params_short"
               value="4"
               c:identifier="GDA_STATEMENT_SQL_PARAMS_SHORT">
-        <doc xml:whitespace="preserve">parameters will be rendered using the 
"##&amp;lt;param_name&amp;gt;..." syntax</doc>
+        <doc xml:space="preserve">parameters will be rendered using the "##&amp;lt;param_name&amp;gt;..." 
syntax</doc>
       </member>
       <member name="params_as_colon"
               value="8"
               c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_COLON">
-        <doc xml:whitespace="preserve">parameters will be rendered using the ":&amp;lt;param_name&amp;gt;" 
syntax</doc>
+        <doc xml:space="preserve">parameters will be rendered using the ":&amp;lt;param_name&amp;gt;" 
syntax</doc>
       </member>
       <member name="params_as_dollar"
               value="16"
               c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_DOLLAR">
-        <doc xml:whitespace="preserve">parameters will be rendered using the "$&amp;lt;param_number&amp;gt;" 
syntax where parameters are numbered starting from 1</doc>
+        <doc xml:space="preserve">parameters will be rendered using the "$&amp;lt;param_number&amp;gt;" 
syntax where parameters are numbered starting from 1</doc>
       </member>
       <member name="params_as_qmark"
               value="32"
               c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_QMARK">
-        <doc xml:whitespace="preserve">parameters will be rendered using the "?&amp;lt;param_number&amp;gt;" 
syntax where parameters are numbered starting from 1</doc>
+        <doc xml:space="preserve">parameters will be rendered using the "?&amp;lt;param_number&amp;gt;" 
syntax where parameters are numbered starting from 1</doc>
       </member>
       <member name="params_as_uqmark"
               value="64"
               c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_UQMARK">
-        <doc xml:whitespace="preserve">parameters will be rendered using the "?" syntax</doc>
+        <doc xml:space="preserve">parameters will be rendered using the "?" syntax</doc>
+      </member>
+      <member name="timezone_to_gmt"
+              value="128"
+              c:identifier="GDA_STATEMENT_SQL_TIMEZONE_TO_GMT">
+        <doc xml:space="preserve">time and timestamp with a timezone information are converted to GMT before 
rendering, and rendering does not show the timezone information</doc>
       </member>
     </bitfield>
     <constant name="TIMEZONE_INVALID"
@@ -24233,7 +25428,7 @@ of @stmt have been verified (emitted after gda_statement_check_validity()).</doc
       <type name="gint" c:type="gint"/>
     </constant>
     <record name="ThreadNotification" c:type="GdaThreadNotification">
-      <doc xml:whitespace="preserve">A notification to be read through the #GIOChannel which is returned by 
gda_thread_wrapper_get_io_channel(),
+      <doc xml:space="preserve">A notification to be read through the #GIOChannel which is returned by 
gda_thread_wrapper_get_io_channel(),
 for example:
 &lt;programlisting&gt;&lt;![CDATA[
 gboolean
@@ -24281,24 +25476,26 @@ onerror:
 }
 ]]&gt;&lt;/programlisting&gt;</doc>
       <field name="type" writable="1">
+        <doc xml:space="preserve">the notification type</doc>
         <type name="ThreadNotificationType"
               c:type="GdaThreadNotificationType"/>
       </field>
       <field name="job_id" writable="1">
+        <doc xml:space="preserve">the job ID, if @type is a #GDA_THREAD_NOTIFICATION_JOB</doc>
         <type name="guint" c:type="guint"/>
       </field>
     </record>
     <enumeration name="ThreadNotificationType"
                  c:type="GdaThreadNotificationType">
-      <doc xml:whitespace="preserve">Defines the kind of notification which can be obtained when reading 
from te #GIOChannel
+      <doc xml:space="preserve">Defines the kind of notification which can be obtained when reading from te 
#GIOChannel
 returned by gda_thread_wrapper_get_io_channel().</doc>
       <member name="job" value="1" c:identifier="GDA_THREAD_NOTIFICATION_JOB">
-        <doc xml:whitespace="preserve">the notification regards a job finished</doc>
+        <doc xml:space="preserve">the notification regards a job finished</doc>
       </member>
       <member name="signal"
               value="2"
               c:identifier="GDA_THREAD_NOTIFICATION_SIGNAL">
-        <doc xml:whitespace="preserve">the notification regards a signal</doc>
+        <doc xml:space="preserve">the notification regards a signal</doc>
       </member>
     </enumeration>
     <class name="ThreadWrapper"
@@ -24311,9 +25508,9 @@ returned by gda_thread_wrapper_get_io_channel().</doc>
       <constructor name="new"
                    c:identifier="gda_thread_wrapper_new"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaThreadWrapper object</doc>
+        <doc xml:space="preserve">Creates a new #GdaThreadWrapper object</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaThreadWrapper object, or %NULL if threads are not 
supported/enabled</doc>
+          <doc xml:space="preserve">a new #GdaThreadWrapper object, or %NULL if threads are not 
supported/enabled</doc>
           <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
         </return-value>
       </constructor>
@@ -24326,23 +25523,23 @@ returned by gda_thread_wrapper_get_io_channel().</doc>
       <method name="cancel"
               c:identifier="gda_thread_wrapper_cancel"
               version="4.2">
-        <doc xml:whitespace="preserve">Cancels a job not yet executed. This may fail for the following 
reasons:
+        <doc xml:space="preserve">Cancels a job not yet executed. This may fail for the following reasons:
 &lt;itemizedlist&gt;
  &lt;listitem&gt;&lt;para&gt;the job @id could not be found, either because it has already been treated or 
because
                  it does not exist or because it was created in another thread&lt;/para&gt;&lt;/listitem&gt;
  &lt;listitem&gt;&lt;para&gt;the job @id is currently being treated by the worker 
thread&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the job has been cancelled, or %FALSE in any other 
case.</doc>
+          <doc xml:space="preserve">%TRUE if the job has been cancelled, or %FALSE in any other case.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the ID of a job as returned by gda_thread_wrapper_execute() or 
gda_thread_wrapper_execute_void()</doc>
+            <doc xml:space="preserve">the ID of a job as returned by gda_thread_wrapper_execute() or 
gda_thread_wrapper_execute_void()</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
         </parameters>
@@ -24350,13 +25547,13 @@ returned by gda_thread_wrapper_get_io_channel().</doc>
       <method name="connect_raw"
               c:identifier="gda_thread_wrapper_connect_raw"
               version="4.2">
-        <doc xml:whitespace="preserve">Connects a callback function to a signal for a particular object. The 
difference with g_signal_connect() and
+        <doc xml:space="preserve">Connects a callback function to a signal for a particular object. The 
difference with g_signal_connect() and
 similar functions are:
 &lt;itemizedlist&gt;
  &lt;listitem&gt;&lt;para&gt;the @callback argument is not a #GCallback function, so the callback signature 
is not
    dependent on the signal itself&lt;/para&gt;&lt;/listitem&gt;
  &lt;listitem&gt;&lt;para&gt;the signal handler must not have to return any 
value&lt;/para&gt;&lt;/listitem&gt;
- &lt;listitem&gt;&lt;para&gt;the @callback function will be called asynchronously, the caller may need to 
use 
+ &lt;listitem&gt;&lt;para&gt;the @callback function will be called asynchronously, the caller may need to use
    gda_thread_wrapper_iterate() to get the notification&lt;/para&gt;&lt;/listitem&gt;
  &lt;listitem&gt;&lt;para&gt;if @private_job and @private_thread control in which case the signal is 
propagated.&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;
@@ -24369,40 +25566,47 @@ called long after the object emitting the signal has finished emitting it.
 To disconnect a signal handler, don't use any of the g_signal_handler_*() functions but the
 gda_thread_wrapper_disconnect() method.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the handler ID</doc>
+          <doc xml:space="preserve">the handler ID</doc>
           <type name="gulong" c:type="gulong"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="instance" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the instance to connect to</doc>
+            <doc xml:space="preserve">the instance to connect to</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="sig_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string of the form "signal-name::detail"</doc>
+            <doc xml:space="preserve">a string of the form "signal-name::detail"</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="private_thread" transfer-ownership="none">
-            <doc xml:whitespace="preserve">set to %TRUE if @callback is to be invoked only if the signal has 
been emitted while in @wrapper's private sub thread (ie. used when @wrapper is executing some functions 
specified by gda_thread_wrapper_execute() or gda_thread_wrapper_execute_void()), and to %FALSE if the 
callback is to be invoked whenever the signal is emitted, independently of the thread in which the signal is 
emitted.</doc>
+            <doc xml:space="preserve">set to %TRUE if @callback is to be invoked only if the signal has
+   been emitted while in @wrapper's private sub thread (ie. used when @wrapper is executing some functions
+   specified by gda_thread_wrapper_execute() or gda_thread_wrapper_execute_void()), and to %FALSE if the
+   callback is to be invoked whenever the signal is emitted, independently of the thread in which the
+   signal is emitted.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
           <parameter name="private_job" transfer-ownership="none">
-            <doc xml:whitespace="preserve">set to %TRUE if @callback is to be invoked only if the signal has 
been emitted when a job created for the calling thread is being executed, and to %FALSE if @callback has to 
be called whenever the @sig_name signal is emitted by @instance. Note that this argument is not taken into 
account if @private_thread is set to %FALSE.</doc>
+            <doc xml:space="preserve">set to %TRUE if @callback is to be invoked only if the signal has
+   been emitted when a job created for the calling thread is being executed, and to %FALSE
+   if @callback has to be called whenever the @sig_name signal is emitted by @instance. Note that
+   this argument is not taken into account if @private_thread is set to %FALSE.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
           <parameter name="callback"
                      transfer-ownership="none"
                      scope="call"
                      closure="5">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapperCallback function</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapperCallback function</doc>
             <type name="ThreadWrapperCallback"
                   c:type="GdaThreadWrapperCallback"/>
           </parameter>
           <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to pass to @callback's calls</doc>
+            <doc xml:space="preserve">data to pass to @callback's calls</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -24410,7 +25614,7 @@ gda_thread_wrapper_disconnect() method.</doc>
       <method name="disconnect"
               c:identifier="gda_thread_wrapper_disconnect"
               version="4.2">
-        <doc xml:whitespace="preserve">Disconnects the emission of a signal, does the opposite of 
gda_thread_wrapper_connect_raw().
+        <doc xml:space="preserve">Disconnects the emission of a signal, does the opposite of 
gda_thread_wrapper_connect_raw().
 
 As soon as this method returns, the callback function set when gda_thread_wrapper_connect_raw()
 was called will not be called anymore (even if the object has emitted the signal in the worker
@@ -24420,11 +25624,11 @@ thread and this signal has not been handled in the user thread).</doc>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a handler ID, as returned by 
gda_thread_wrapper_connect_raw()</doc>
+            <doc xml:space="preserve">a handler ID, as returned by gda_thread_wrapper_connect_raw()</doc>
             <type name="gulong" c:type="gulong"/>
           </parameter>
         </parameters>
@@ -24434,7 +25638,7 @@ thread and this signal has not been handled in the user thread).</doc>
               version="4.2"
               introspectable="0"
               throws="1">
-        <doc xml:whitespace="preserve">Make @wrapper execute the @func function with the @arg argument 
(along with a #GError which is not @error)
+        <doc xml:space="preserve">Make @wrapper execute the @func function with the @arg argument (along 
with a #GError which is not @error)
 in the sub thread managed by @wrapper. To execute a function which does not return anything,
 use gda_thread_wrapper_execute_void().
 
@@ -24446,30 +25650,34 @@ on @arg. This call occurs in the thread calling gda_thread_wrapper_fetch_result(
 
 If an error occurred in this function, then the @arg_destroy_func function is not called to free @arg.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the job ID, or 0 if an error occurred</doc>
+          <doc xml:space="preserve">the job ID, or 0 if an error occurred</doc>
           <type name="guint" c:type="guint"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="func"
                      transfer-ownership="none"
                      scope="notified"
                      destroy="2">
-            <doc xml:whitespace="preserve">the function to execute, not %NULL</doc>
+            <doc xml:space="preserve">the function to execute, not %NULL</doc>
             <type name="ThreadWrapperFunc" c:type="GdaThreadWrapperFunc"/>
           </parameter>
-          <parameter name="arg" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">argument to pass to @func, or %NULL</doc>
+          <parameter name="arg"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">argument to pass to @func, or %NULL</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="arg_destroy_func"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1"
                      scope="async">
-            <doc xml:whitespace="preserve">function to be called when the execution has finished, to destroy 
@arg, or %NULL</doc>
+            <doc xml:space="preserve">function to be called when the execution has finished, to destroy 
@arg, or %NULL</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
@@ -24478,7 +25686,7 @@ If an error occurred in this function, then the @arg_destroy_func function is no
               c:identifier="gda_thread_wrapper_execute_void"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Make @wrapper execute the @func function with the @arg argument 
(along with a #GError which is not @error)
+        <doc xml:space="preserve">Make @wrapper execute the @func function with the @arg argument (along 
with a #GError which is not @error)
 in the sub thread managed by @wrapper. To execute a function which returns some pointer,
 use gda_thread_wrapper_execute().
 
@@ -24492,31 +25700,35 @@ on @arg. This call occurs in the thread calling gda_thread_wrapper_fetch_result(
 
 If an error occurred in this function, then the @arg_destroy_func function is not called to free @arg.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the job ID, or 0 if an error occurred</doc>
+          <doc xml:space="preserve">the job ID, or 0 if an error occurred</doc>
           <type name="guint" c:type="guint"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="func"
                      transfer-ownership="none"
                      scope="notified"
                      destroy="2">
-            <doc xml:whitespace="preserve">the function to execute, not %NULL</doc>
+            <doc xml:space="preserve">the function to execute, not %NULL</doc>
             <type name="ThreadWrapperVoidFunc"
                   c:type="GdaThreadWrapperVoidFunc"/>
           </parameter>
-          <parameter name="arg" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">argument to pass to @func</doc>
+          <parameter name="arg"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">argument to pass to @func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="arg_destroy_func"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1"
                      scope="async">
-            <doc xml:whitespace="preserve">function to be called when the execution has finished, to destroy 
@arg, or %NULL</doc>
+            <doc xml:space="preserve">function to be called when the execution has finished, to destroy 
@arg, or %NULL</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
@@ -24525,23 +25737,23 @@ If an error occurred in this function, then the @arg_destroy_func function is no
               c:identifier="gda_thread_wrapper_fetch_result"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Use this method to check if the execution of a function is finished. 
The function's execution must have
+        <doc xml:space="preserve">Use this method to check if the execution of a function is finished. The 
function's execution must have
 been requested using gda_thread_wrapper_execute().</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the pointer returned by the execution, or %NULL if no result is 
available</doc>
+          <doc xml:space="preserve">the pointer returned by the execution, or %NULL if no result is 
available</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="may_lock" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if this funct must lock the caller untill a result is 
available</doc>
+            <doc xml:space="preserve">TRUE if this funct must lock the caller untill a result is 
available</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
           <parameter name="exp_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">ID of the job for which a result is expected</doc>
+            <doc xml:space="preserve">ID of the job for which a result is expected</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
         </parameters>
@@ -24549,7 +25761,7 @@ been requested using gda_thread_wrapper_execute().</doc>
       <method name="get_io_channel"
               c:identifier="gda_thread_wrapper_get_io_channel"
               version="4.2.9">
-        <doc xml:whitespace="preserve">Allow @wrapper to notify when an execution job is finished, by making 
its exec ID
+        <doc xml:space="preserve">Allow @wrapper to notify when an execution job is finished, by making its 
exec ID
 readable through a new #GIOChannel. This function is useful when the notification needs
 to be included into a main loop. This also notifies that signals (emitted by objects in
 @wrapper's internal thread) are available.
@@ -24569,12 +25781,12 @@ Note3: if the usage of the returned #GIOChannel reveals an error, then g_io_chan
 g_io_channel_unref() should be called on the #GIOChannel to let @wrapper know it should not use
 that object anymore.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a new #GIOChannel, or %NULL if it could not be created</doc>
+          <doc xml:space="preserve">a new #GIOChannel, or %NULL if it could not be created</doc>
           <type name="GLib.IOChannel" c:type="GIOChannel*"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
         </parameters>
@@ -24582,15 +25794,15 @@ that object anymore.</doc>
       <method name="get_waiting_size"
               c:identifier="gda_thread_wrapper_get_waiting_size"
               version="4.2">
-        <doc xml:whitespace="preserve">Use this method to query the number of functions which have been 
queued to be executed
+        <doc xml:space="preserve">Use this method to query the number of functions which have been queued to 
be executed
 but which have not yet been executed.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of jobs not yet executed</doc>
+          <doc xml:space="preserve">the number of jobs not yet executed</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
         </parameters>
@@ -24598,7 +25810,7 @@ but which have not yet been executed.</doc>
       <method name="iterate"
               c:identifier="gda_thread_wrapper_iterate"
               version="4.2">
-        <doc xml:whitespace="preserve">This method gives @wrapper a chance to check if some functions to be 
executed have finished
+        <doc xml:space="preserve">This method gives @wrapper a chance to check if some functions to be 
executed have finished
 &lt;emphasis&gt;for the calling thread&lt;/emphasis&gt;. In this case it handles the execution result and
 makes it ready to be processed using gda_thread_wrapper_fetch_result().
 
@@ -24606,18 +25818,18 @@ This method also allows @wrapper to handle signals which may have been emitted b
 while in the worker thread, and call the callback function specified when gda_thread_wrapper_connect_raw()
 was used.
 
-If @may_block is %TRUE, then it will block untill there is one finished execution 
+If @may_block is %TRUE, then it will block untill there is one finished execution
 (functions returning void and signals are ignored regarding this argument).</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="may_block" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the call may block</doc>
+            <doc xml:space="preserve">whether the call may block</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -24625,7 +25837,7 @@ If @may_block is %TRUE, then it will block untill there is one finished executio
       <method name="steal_signal"
               c:identifier="gda_thread_wrapper_steal_signal"
               version="4.2">
-        <doc xml:whitespace="preserve">Requests that the signal which ID is @id (which has been obtained 
using gda_thread_wrapper_connect_raw())
+        <doc xml:space="preserve">Requests that the signal which ID is @id (which has been obtained using 
gda_thread_wrapper_connect_raw())
 be treated by the calling thread instead of by the thread in which gda_thread_wrapper_connect_raw()
 was called.</doc>
         <return-value transfer-ownership="none">
@@ -24633,11 +25845,11 @@ was called.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper object</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper object</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
           <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a signal ID</doc>
+            <doc xml:space="preserve">a signal ID</doc>
             <type name="gulong" c:type="gulong"/>
           </parameter>
         </parameters>
@@ -24645,13 +25857,13 @@ was called.</doc>
       <method name="unset_io_channel"
               c:identifier="gda_thread_wrapper_unset_io_channel"
               version="4.2.9">
-        <doc xml:whitespace="preserve">Does the opposite of gda_thread_wrapper_get_io_channel()</doc>
+        <doc xml:space="preserve">Does the opposite of gda_thread_wrapper_get_io_channel()</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="wrapper" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaThreadWrapper</doc>
+            <doc xml:space="preserve">a #GdaThreadWrapper</doc>
             <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
           </instance-parameter>
         </parameters>
@@ -24664,37 +25876,37 @@ was called.</doc>
       </field>
     </class>
     <callback name="ThreadWrapperCallback" c:type="GdaThreadWrapperCallback">
-      <doc xml:whitespace="preserve">Specifies the type of function to be passed to 
gda_thread_wrapper_connect_raw()</doc>
+      <doc xml:space="preserve">Specifies the type of function to be passed to 
gda_thread_wrapper_connect_raw()</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="wrapper" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaThreadWrapper</doc>
+          <doc xml:space="preserve">the #GdaThreadWrapper</doc>
           <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
         </parameter>
         <parameter name="instance" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the instance which emitted the signal</doc>
+          <doc xml:space="preserve">a pointer to the instance which emitted the signal</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
         <parameter name="signame" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the signal being emitted</doc>
+          <doc xml:space="preserve">the name of the signal being emitted</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
         <parameter name="n_param_values" transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of GValue in @param_values</doc>
+          <doc xml:space="preserve">number of GValue in @param_values</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
         <parameter name="param_values" transfer-ownership="none">
-          <doc xml:whitespace="preserve">array of @n_param_values GValue</doc>
+          <doc xml:space="preserve">array of @n_param_values GValue</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
         <parameter name="gda_reserved" transfer-ownership="none">
-          <doc xml:whitespace="preserve">reserved</doc>
+          <doc xml:space="preserve">reserved</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
         <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the data (which is the @data argument passed to 
gda_thread_wrapper_connect_raw())</doc>
+          <doc xml:space="preserve">a pointer to the data (which is the @data argument passed to 
gda_thread_wrapper_connect_raw())</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
@@ -24744,14 +25956,14 @@ was called.</doc>
               c:type="GdaThreadWrapperFunc"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Specifies the type of function to be passed to 
gda_thread_wrapper_execute().</doc>
+      <doc xml:space="preserve">Specifies the type of function to be passed to 
gda_thread_wrapper_execute().</doc>
       <return-value>
-        <doc xml:whitespace="preserve">a pointer to some data which will be returned by 
gda_thread_wrapper_fetch_result()</doc>
+        <doc xml:space="preserve">a pointer to some data which will be returned by 
gda_thread_wrapper_fetch_result()</doc>
         <type name="gpointer" c:type="gpointer"/>
       </return-value>
       <parameters>
         <parameter name="arg" transfer-ownership="none">
-          <doc xml:whitespace="preserve">pointer to the data (which is the @arg argument passed to 
gda_thread_wrapper_execute_void())</doc>
+          <doc xml:space="preserve">pointer to the data (which is the @arg argument passed to 
gda_thread_wrapper_execute_void())</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
@@ -24763,13 +25975,13 @@ was called.</doc>
     <callback name="ThreadWrapperVoidFunc"
               c:type="GdaThreadWrapperVoidFunc"
               throws="1">
-      <doc xml:whitespace="preserve">Specifies the type of function to be passed to 
gda_thread_wrapper_execute_void().</doc>
+      <doc xml:space="preserve">Specifies the type of function to be passed to 
gda_thread_wrapper_execute_void().</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="arg" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the data (which is the @arg argument passed to 
gda_thread_wrapper_execute_void())</doc>
+          <doc xml:space="preserve">a pointer to the data (which is the @arg argument passed to 
gda_thread_wrapper_execute_void())</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
@@ -24779,29 +25991,57 @@ was called.</doc>
             glib:type-name="GdaTime"
             glib:get-type="gda_time_get_type"
             c:symbol-prefix="time">
+      <doc xml:space="preserve">Represents a time information.</doc>
       <field name="hour" writable="1">
+        <doc xml:space="preserve">hour representation of the time, as a number between 0 and 23</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="minute" writable="1">
+        <doc xml:space="preserve">minute representation of the time, as a number between 0 and 59</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="second" writable="1">
+        <doc xml:space="preserve">second representation of the time, as a number between 0 and 59</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="fraction" writable="1">
+        <doc xml:space="preserve">fractionnal part of the seconds, in millionth' of second</doc>
         <type name="gulong" c:type="gulong"/>
       </field>
       <field name="timezone" writable="1">
+        <doc xml:space="preserve">number of seconds added to the GMT timezone</doc>
         <type name="glong" c:type="glong"/>
       </field>
+      <method name="change_timezone"
+              c:identifier="gda_time_change_timezone"
+              version="5.2">
+        <doc xml:space="preserve">Changes @time's timezone (for example to convert from GMT to another time 
zone).
+If @time's current timezone is unset (i.e. equal to %GDA_TIMEZONE_INVALID), then this function simply sets
+ time's timezone attribute; Otherwise, it adds or removes hours, minutes or seconds to reflect the time in 
the new timezone.
+
+Note: the resulting will always be a valid time.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="time" transfer-ownership="none">
+            <doc xml:space="preserve">a valid #GdaTime</doc>
+            <type name="Time" c:type="GdaTime*"/>
+          </instance-parameter>
+          <parameter name="ntz" transfer-ownership="none">
+            <doc xml:space="preserve">a new timezone to use, in seconds added to GMT</doc>
+            <type name="glong" c:type="glong"/>
+          </parameter>
+        </parameters>
+      </method>
       <method name="valid" c:identifier="gda_time_valid" version="4.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">#TRUE if #GdaTime is valid; %FALSE otherwise.</doc>
+          <doc xml:space="preserve">#TRUE if #GdaTime is valid; %FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="time" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTime value to check if it is valid</doc>
+            <doc xml:space="preserve">a #GdaTime value to check if it is valid</doc>
             <type name="Time" c:type="const GdaTime*"/>
           </instance-parameter>
         </parameters>
@@ -24832,38 +26072,67 @@ was called.</doc>
             glib:type-name="GdaTimestamp"
             glib:get-type="gda_timestamp_get_type"
             c:symbol-prefix="timestamp">
+      <doc xml:space="preserve">Represents an instant (a time stamp)</doc>
       <field name="year" writable="1">
+        <doc xml:space="preserve">year representation of the time stamp</doc>
         <type name="gshort" c:type="gshort"/>
       </field>
       <field name="month" writable="1">
+        <doc xml:space="preserve">month representation of the time stamp, as a number between 1 and 12</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="day" writable="1">
+        <doc xml:space="preserve">day representation of the time stamp, as a number between 1 and 31</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="hour" writable="1">
+        <doc xml:space="preserve">hour representation of the time stamp, as a number between 0 and 23</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="minute" writable="1">
+        <doc xml:space="preserve">minute representation of the time stamp, as a number between 0 and 59</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="second" writable="1">
+        <doc xml:space="preserve">second representation of the time stamp, as a number between 0 and 59</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="fraction" writable="1">
+        <doc xml:space="preserve">fractionnal part of the seconds, in millionth' of second</doc>
         <type name="gulong" c:type="gulong"/>
       </field>
       <field name="timezone" writable="1">
+        <doc xml:space="preserve">number of seconds added to the GMT timezone</doc>
         <type name="glong" c:type="glong"/>
       </field>
+      <method name="change_timezone"
+              c:identifier="gda_timestamp_change_timezone"
+              version="5.2">
+        <doc xml:space="preserve">This function is similar to gda_time_change_timezone() but operates on 
time stamps.
+
+Note: the resulting will always be a valid time.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="ts" transfer-ownership="none">
+            <doc xml:space="preserve">a valid #GdaTimestamp</doc>
+            <type name="Timestamp" c:type="GdaTimestamp*"/>
+          </instance-parameter>
+          <parameter name="ntz" transfer-ownership="none">
+            <doc xml:space="preserve">a new timezone to use, in seconds added to GMT</doc>
+            <type name="glong" c:type="glong"/>
+          </parameter>
+        </parameters>
+      </method>
       <method name="valid" c:identifier="gda_timestamp_valid" version="4.2">
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">#TRUE if #GdaTimestamp is valid; %FALSE otherwise.</doc>
+          <doc xml:space="preserve">#TRUE if #GdaTimestamp is valid; %FALSE otherwise.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="timestamp" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTimestamp value to check if it is valid</doc>
+            <doc xml:space="preserve">a #GdaTimestamp value to check if it is valid</doc>
             <type name="Timestamp" c:type="const GdaTimestamp*"/>
           </instance-parameter>
         </parameters>
@@ -24919,15 +26188,15 @@ was called.</doc>
            glib:get-type="gda_transaction_status_get_type"
            glib:type-struct="TransactionStatusClass">
       <constructor name="new" c:identifier="gda_transaction_status_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaTransactionStatus object, which allows a fine-tune 
and
+        <doc xml:space="preserve">Creates a new #GdaTransactionStatus object, which allows a fine-tune and
 full control of transactions to be used with providers.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created object.</doc>
+          <doc xml:space="preserve">the newly created object.</doc>
           <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
         </return-value>
         <parameters>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name for the transaction</doc>
+            <doc xml:space="preserve">name for the transaction</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -25002,7 +26271,7 @@ full control of transactions to be used with providers.</doc>
       </method>
       <method name="find_current"
               c:identifier="gda_transaction_status_find_current">
-        <doc xml:whitespace="preserve">Find a pointer to the "current" _unnamed_ transaction, which is the 
last
+        <doc xml:space="preserve">Find a pointer to the "current" _unnamed_ transaction, which is the last
 transaction if there are several nested transactions</doc>
         <return-value transfer-ownership="full">
           <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
@@ -25161,9 +26430,9 @@ transaction if there are several nested transactions</doc>
            glib:get-type="gda_tree_get_type"
            glib:type-struct="TreeClass">
       <constructor name="new" c:identifier="gda_tree_new" version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaTree object</doc>
+        <doc xml:space="preserve">Creates a new #GdaTree object</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTree object</doc>
+          <doc xml:space="preserve">a new #GdaTree object</doc>
           <type name="Tree" c:type="GdaTree*"/>
         </return-value>
       </constructor>
@@ -25227,70 +26496,77 @@ transaction if there are several nested transactions</doc>
       <method name="add_manager"
               c:identifier="gda_tree_add_manager"
               version="4.2">
-        <doc xml:whitespace="preserve">Sets @manager as a top #GdaTreeManager object, which will be 
responsible for creating top level nodes in @tree.</doc>
+        <doc xml:space="preserve">Sets @manager as a top #GdaTreeManager object, which will be responsible 
for creating top level nodes in @tree.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
           <parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager object</doc>
+            <doc xml:space="preserve">a #GdaTreeManager object</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </parameter>
         </parameters>
       </method>
       <method name="clean" c:identifier="gda_tree_clean" version="4.2">
-        <doc xml:whitespace="preserve">Removes any node in @tree</doc>
+        <doc xml:space="preserve">Removes any node in @tree</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="dump" c:identifier="gda_tree_dump" version="4.2">
-        <doc xml:whitespace="preserve">Dumps the contents of @tree to @stream, using a hierarchical 
view.</doc>
+        <doc xml:space="preserve">Dumps the contents of @tree to @stream, using a hierarchical view.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree</doc>
+            <doc xml:space="preserve">a #GdaTree</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
-          <parameter name="node" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaTreeNode to start the dump from, or %NULL for a full 
dump</doc>
+          <parameter name="node"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaTreeNode to start the dump from, or %NULL for a full dump</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </parameter>
-          <parameter name="stream" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a stream to send the dump to, or %NULL for STDOUT</doc>
+          <parameter name="stream"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a stream to send the dump to, or %NULL for STDOUT</doc>
             <type name="gpointer" c:type="FILE*"/>
           </parameter>
         </parameters>
       </method>
       <method name="get_node" c:identifier="gda_tree_get_node" version="4.2">
-        <doc xml:whitespace="preserve">Locates a #GdaTreeNode using the @tree_path path.</doc>
+        <doc xml:space="preserve">Locates a #GdaTreeNode using the @tree_path path.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested #GdaTreeNode pointer, or %NULL if not found</doc>
+          <doc xml:space="preserve">the requested #GdaTreeNode pointer, or %NULL if not found</doc>
           <type name="TreeNode" c:type="GdaTreeNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
           <parameter name="tree_path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">full path to the required nodes (if @use_names is %TRUE, then it 
must start with '/')</doc>
+            <doc xml:space="preserve">full path to the required nodes (if @use_names is %TRUE, then it must 
start with '/')</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="use_names" transfer-ownership="none">
-            <doc xml:whitespace="preserve">if %TRUE, then @tree_path will be interpreted as a unix style 
path, and if %FALSE, then @tree_path will be interpreted similarly to the #GtkTreePath's string 
representation.</doc>
+            <doc xml:space="preserve">if %TRUE, then @tree_path will be interpreted as a unix style path, 
and if %FALSE,
+            then @tree_path will be interpreted similarly to the #GtkTreePath's string representation.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -25298,18 +26574,18 @@ transaction if there are several nested transactions</doc>
       <method name="get_node_manager"
               c:identifier="gda_tree_get_node_manager"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the #GdaTreeManager which created @node in @tree</doc>
+        <doc xml:space="preserve">Get the #GdaTreeManager which created @node in @tree</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaTreeManager, or %NULL if @node is not present in @tree</doc>
+          <doc xml:space="preserve">the #GdaTreeManager, or %NULL if @node is not present in @tree</doc>
           <type name="TreeManager" c:type="GdaTreeManager*"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree</doc>
+            <doc xml:space="preserve">a #GdaTree</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode present in @tree</doc>
+            <doc xml:space="preserve">a #GdaTreeNode present in @tree</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </parameter>
         </parameters>
@@ -25317,18 +26593,18 @@ transaction if there are several nested transactions</doc>
       <method name="get_node_path"
               c:identifier="gda_tree_get_node_path"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the path associated to @node in @tree.</doc>
+        <doc xml:space="preserve">Get the path associated to @node in @tree.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string, or %NULL if @node is not in @tree</doc>
+          <doc xml:space="preserve">a new string, or %NULL if @node is not in @tree</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree</doc>
+            <doc xml:space="preserve">a #GdaTree</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode node in @tree</doc>
+            <doc xml:space="preserve">a #GdaTreeNode node in @tree</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </parameter>
         </parameters>
@@ -25336,27 +26612,31 @@ transaction if there are several nested transactions</doc>
       <method name="get_nodes_in_path"
               c:identifier="gda_tree_get_nodes_in_path"
               version="4.2">
-        <doc xml:whitespace="preserve">The returned list is a list of all the #GdaTreeNode nodes 
&lt;emphasis&gt;below&lt;/emphasis&gt; the node
+        <doc xml:space="preserve">The returned list is a list of all the #GdaTreeNode nodes 
&lt;emphasis&gt;below&lt;/emphasis&gt; the node
 at the specified path.
 
 As a corner case if @tree_path is %NULL, then the returned list contains all the top level nodes.</doc>
         <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a new list of #GdaTreeNode pointers, free it with 
g_slist_free()</doc>
+          <doc xml:space="preserve">a new list of #GdaTreeNode pointers, free it with g_slist_free()</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="TreeNode"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
-          <parameter name="tree_path" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">full path to the required nodes (if @use_names is %TRUE, then it 
must start with '/'), or %NULL</doc>
+          <parameter name="tree_path"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">full path to the required nodes (if @use_names is %TRUE, then it must 
start with '/'), or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="use_names" transfer-ownership="none">
-            <doc xml:whitespace="preserve">if %TRUE, then @tree_path will be interpreted as a unix style 
path, and if %FALSE, then @tree_path will be interpreted similarly to the #GtkTreePath's string 
representation.</doc>
+            <doc xml:space="preserve">if %TRUE, then @tree_path will be interpreted as a unix style path, 
and if %FALSE,
+            then @tree_path will be interpreted similarly to the #GtkTreePath's string representation.</doc>
             <type name="gboolean" c:type="gboolean"/>
           </parameter>
         </parameters>
@@ -25364,25 +26644,25 @@ As a corner case if @tree_path is %NULL, then the returned list contains all the
       <method name="set_attribute"
               c:identifier="gda_tree_set_attribute"
               version="4.2">
-        <doc xml:whitespace="preserve">Sets an attribute to @tree, which will be accessible to any node in 
it.</doc>
+        <doc xml:space="preserve">Sets an attribute to @tree, which will be accessible to any node in 
it.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name</doc>
+            <doc xml:space="preserve">attribute name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+            <doc xml:space="preserve">a #GValue, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="destroy" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
+            <doc xml:space="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
@@ -25391,15 +26671,15 @@ As a corner case if @tree_path is %NULL, then the returned list contains all the
               c:identifier="gda_tree_update_all"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Requests that @tree be populated with nodes. If an error occurs, then 
@tree's contents is left
+        <doc xml:space="preserve">Requests that @tree be populated with nodes. If an error occurs, then 
@tree's contents is left
 unchanged, and otherwise @tree's previous contents is completely replaced by the new one.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
         </parameters>
@@ -25408,19 +26688,22 @@ unchanged, and otherwise @tree's previous contents is completely replaced by the
               c:identifier="gda_tree_update_children"
               version="4.2.8"
               throws="1">
-        <doc xml:whitespace="preserve">Update the children of @node in @tree (not recursively, to update 
recursively, use
+        <doc xml:space="preserve">Update the children of @node in @tree (not recursively, to update 
recursively, use
 gda_tree_update_part()). If @node is %NULL then the top level nodes are updated.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
-          <parameter name="node" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GdaTreeNode node in @tree, or %NULL</doc>
+          <parameter name="node"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GdaTreeNode node in @tree, or %NULL</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </parameter>
         </parameters>
@@ -25429,24 +26712,24 @@ gda_tree_update_part()). If @node is %NULL then the top level nodes are updated.
               c:identifier="gda_tree_update_part"
               version="4.2"
               throws="1">
-        <doc xml:whitespace="preserve">Requests that @tree be populated with nodes, starting from @node</doc>
+        <doc xml:space="preserve">Requests that @tree be populated with nodes, starting from @node</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+          <doc xml:space="preserve">TRUE if no error occurred.</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="tree" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTree object</doc>
+            <doc xml:space="preserve">a #GdaTree object</doc>
             <type name="Tree" c:type="GdaTree*"/>
           </instance-parameter>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode node in @tree</doc>
+            <doc xml:space="preserve">a #GdaTreeNode node in @tree</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </parameter>
         </parameters>
       </method>
       <property name="is-list" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Tells if the GdaTree is a list or a tree.</doc>
+        <doc xml:space="preserve">Tells if the GdaTree is a list or a tree.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </property>
       <field name="object">
@@ -25456,50 +26739,51 @@ gda_tree_update_part()). If @node is %NULL then the top level nodes are updated.
         <type name="TreePrivate" c:type="GdaTreePrivate*"/>
       </field>
       <glib:signal name="node-changed" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has changed in @tree</doc>
+        <doc xml:space="preserve">Gets emitted when a @node has changed in @tree</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaTreeNode which has changed</doc>
+            <doc xml:space="preserve">the #GdaTreeNode which has changed</doc>
             <type name="TreeNode"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="node-deleted" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has been removed from @tree</doc>
+        <doc xml:space="preserve">Gets emitted when a @node has been removed from @tree</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="node_path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position the node held in @tree as a tree path</doc>
+            <doc xml:space="preserve">the position the node held in @tree as a tree path</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="node-has-child-toggled" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has has a child when it did not have any or 
when it
+        <doc xml:space="preserve">Gets emitted when a @node has has a child when it did not have any or when 
it
 does not have a ny children anymore when it had some</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaTreeNode which changed from having children to being a 
leaf or the other way around</doc>
+            <doc xml:space="preserve">the #GdaTreeNode which changed from having children to being a
+       leaf or the other way around</doc>
             <type name="TreeNode"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="node-inserted" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has been inserted in @tree</doc>
+        <doc xml:space="preserve">Gets emitted when a @node has been inserted in @tree</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaTreeNode which has inserted</doc>
+            <doc xml:space="preserve">the #GdaTreeNode which has inserted</doc>
             <type name="TreeNode"/>
           </parameter>
         </parameters>
@@ -25617,15 +26901,16 @@ does not have a ny children anymore when it had some</doc>
                    c:identifier="gda_tree_manager_new_with_func"
                    version="4.2"
                    introspectable="0">
-        <doc xml:whitespace="preserve">Use this method to create a new #GdaTreeManager if it's more 
convenient than subclassing; all is needed
+        <doc xml:space="preserve">Use this method to create a new #GdaTreeManager if it's more convenient 
than subclassing; all is needed
 is the @update_func function which is responsible for creating or updating the children nodes of a specified 
#GdaTreeNode.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeManager</doc>
+          <doc xml:space="preserve">a new #GdaTreeManager</doc>
           <type name="TreeManager" c:type="GdaTreeManager*"/>
         </return-value>
         <parameters>
           <parameter name="update_func" transfer-ownership="none" scope="call">
-            <doc xml:whitespace="preserve">the function to call when the manager object is requested to 
create or update its list of #GdaTreeNode nodes</doc>
+            <doc xml:space="preserve">the function to call when the manager object is requested to create or 
update its list of
+#GdaTreeNode nodes</doc>
             <type name="TreeManagerNodesFunc"
                   c:type="GdaTreeManagerNodesFunc"/>
           </parameter>
@@ -25662,23 +26947,23 @@ is the @update_func function which is responsible for creating or updating the c
       <method name="add_manager"
               c:identifier="gda_tree_manager_add_manager"
               version="4.2">
-        <doc xml:whitespace="preserve">Adds a sub manager to @manager. Use this method to create the 
skeleton structure
+        <doc xml:space="preserve">Adds a sub manager to @manager. Use this method to create the skeleton 
structure
 of a #GdaTree. Note that a single #GdaTreeManager can be used by several #GdaTree objects
 or several times in the same #GdaTree's structure.
 
 Please note that it's possible for @mgr and @sub to be the same object, but beware of the possible
-infinite recursive behaviour in this case when creating children nodes 
+infinite recursive behaviour in this case when creating children nodes
 (depending on the actual implementation of the #GdaTreeManager).</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager object</doc>
+            <doc xml:space="preserve">a #GdaTreeManager object</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </instance-parameter>
           <parameter name="sub" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager object to add</doc>
+            <doc xml:space="preserve">a #GdaTreeManager object to add</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </parameter>
         </parameters>
@@ -25686,7 +26971,7 @@ infinite recursive behaviour in this case when creating children nodes
       <method name="add_new_node_attribute"
               c:identifier="gda_tree_manager_add_new_node_attribute"
               version="4.2">
-        <doc xml:whitespace="preserve">Requests that for any new node managed (eg. created) by @manager, a 
new attribute will be set. This allows
+        <doc xml:space="preserve">Requests that for any new node managed (eg. created) by @manager, a new 
attribute will be set. This allows
 one to customize the attributes of new nodes created by an existing #GdaTreeManager.
 
 As a side effect, if @value is %NULL, then the corresponding attribute, if it was set, is unset.</doc>
@@ -25695,15 +26980,18 @@ As a side effect, if @value is %NULL, then the corresponding attribute, if it wa
         </return-value>
         <parameters>
           <instance-parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager</doc>
+            <doc xml:space="preserve">a #GdaTreeManager</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an attribute name</doc>
+            <doc xml:space="preserve">an attribute name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the attribute's value, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the attribute's value, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
         </parameters>
@@ -25711,26 +26999,32 @@ As a side effect, if @value is %NULL, then the corresponding attribute, if it wa
       <method name="create_node"
               c:identifier="gda_tree_manager_create_node"
               version="4.2">
-        <doc xml:whitespace="preserve">Requests that @manager creates a new #GdaTreeNode. The new node is 
not in any
+        <doc xml:space="preserve">Requests that @manager creates a new #GdaTreeNode. The new node is not in 
any
 way linked to @manager yet, consider this method as a #GdaTreeNode factory.
 
 This method is usually used when implementing a #GdaTreeManagerNodesFunc function (to create nodes),
 or when subclassing the #GdaTreeManager.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeNode</doc>
+          <doc xml:space="preserve">a new #GdaTreeNode</doc>
           <type name="TreeNode" c:type="GdaTreeNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager</doc>
+            <doc xml:space="preserve">a #GdaTreeManager</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </instance-parameter>
-          <parameter name="parent" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the parent the new node may have, or %NULL</doc>
+          <parameter name="parent"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">the parent the new node may have, or %NULL</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </parameter>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">name given to the new node, or %NULL</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">name given to the new node, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -25738,16 +27032,16 @@ or when subclassing the #GdaTreeManager.</doc>
       <method name="get_managers"
               c:identifier="gda_tree_manager_get_managers"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the list of sub managers which have already been added using 
gda_tree_manager_add_manager()</doc>
+        <doc xml:space="preserve">Get the list of sub managers which have already been added using 
gda_tree_manager_add_manager()</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a list of #GdaTreeMenager which should not be modified.</doc>
+          <doc xml:space="preserve">a list of #GdaTreeMenager which should not be modified.</doc>
           <type name="GLib.SList" c:type="const GSList*">
             <type name="TreeManager"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager object</doc>
+            <doc xml:space="preserve">a #GdaTreeManager object</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </instance-parameter>
         </parameters>
@@ -25756,14 +27050,14 @@ or when subclassing the #GdaTreeManager.</doc>
               c:identifier="gda_tree_manager_get_node_create_func"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Get the function used by @manager when creating new #GdaTreeNode 
nodes</doc>
+        <doc xml:space="preserve">Get the function used by @manager when creating new #GdaTreeNode 
nodes</doc>
         <return-value>
-          <doc xml:whitespace="preserve">the #GdaTreeManagerNodeFunc function, or %NULL if the default 
function is used</doc>
+          <doc xml:space="preserve">the #GdaTreeManagerNodeFunc function, or %NULL if the default function 
is used</doc>
           <type name="TreeManagerNodeFunc" c:type="GdaTreeManagerNodeFunc"/>
         </return-value>
         <parameters>
           <instance-parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager tree manager object</doc>
+            <doc xml:space="preserve">a #GdaTreeManager tree manager object</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </instance-parameter>
         </parameters>
@@ -25772,7 +27066,7 @@ or when subclassing the #GdaTreeManager.</doc>
               c:identifier="gda_tree_manager_set_node_create_func"
               version="4.2"
               introspectable="0">
-        <doc xml:whitespace="preserve">Sets the function to be called when a new node is being created by 
@manager. If @func is %NULL
+        <doc xml:space="preserve">Sets the function to be called when a new node is being created by 
@manager. If @func is %NULL
 then each created node will be a #GdaTreeNode object.
 
 Specifying a custom #GdaTreeManagerNodeFunc function for example allows one to use
@@ -25782,14 +27076,15 @@ specialized sub-classed #GdaTreeNode objects.</doc>
         </return-value>
         <parameters>
           <instance-parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeManager tree manager object</doc>
+            <doc xml:space="preserve">a #GdaTreeManager tree manager object</doc>
             <type name="TreeManager" c:type="GdaTreeManager*"/>
           </instance-parameter>
           <parameter name="func"
                      transfer-ownership="none"
+                     nullable="1"
                      allow-none="1"
                      scope="call">
-            <doc xml:whitespace="preserve">a #GdaTreeManagerNodeFunc function pointer, or %NULL</doc>
+            <doc xml:space="preserve">a #GdaTreeManagerNodeFunc function pointer, or %NULL</doc>
             <type name="TreeManagerNodeFunc" c:type="GdaTreeManagerNodeFunc"/>
           </parameter>
         </parameters>
@@ -25798,7 +27093,7 @@ specialized sub-classed #GdaTreeNode objects.</doc>
                 writable="1"
                 construct="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">This property specifies the function which needs to be called when 
the list of #GdaTreeNode nodes
+        <doc xml:space="preserve">This property specifies the function which needs to be called when the 
list of #GdaTreeNode nodes
 managed has to be updated</doc>
         <type name="gpointer" c:type="gpointer"/>
       </property>
@@ -25806,7 +27101,7 @@ managed has to be updated</doc>
                 writable="1"
                 construct="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">This property specifies if, when initially creating nodes or updating 
the list of nodes,
+        <doc xml:space="preserve">This property specifies if, when initially creating nodes or updating the 
list of nodes,
 the tree manager shoud also request that each node it has created or updated also
 initially create or update their children.
 
@@ -25945,23 +27240,23 @@ and needs to be postponed while an event occurs.</doc>
       <constructor name="new"
                    c:identifier="gda_tree_mgr_columns_new"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node for 
each
+        <doc xml:space="preserve">Creates a new #GdaTreeManager object which will add one tree node for each
 column in the table named @table_name in the @schema schema.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+          <doc xml:space="preserve">a new #GdaTreeManager object</doc>
           <type name="TreeManager" c:type="GdaTreeManager*"/>
         </return-value>
         <parameters>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="schema" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a schema name</doc>
+            <doc xml:space="preserve">a schema name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
           <parameter name="table_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the table</doc>
+            <doc xml:space="preserve">the name of the table</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -25970,7 +27265,7 @@ column in the table named @table_name in the @schema schema.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the #GdaConnection to display information for. Necessary upon 
construction unless
+        <doc xml:space="preserve">Defines the #GdaConnection to display information for. Necessary upon 
construction unless
 the #GdaTreeMgrColumns:meta-store property is specified instead.</doc>
         <type name="Connection"/>
       </property>
@@ -25979,7 +27274,7 @@ the #GdaTreeMgrColumns:meta-store property is specified instead.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon 
construction unless
+        <doc xml:space="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon 
construction unless
 the #GdaTreeMgrColumns:connection property is specified instead. This property has
 priority over the GdaTreeMgrColumns:connection property.</doc>
         <type name="MetaStore"/>
@@ -25989,7 +27284,7 @@ priority over the GdaTreeMgrColumns:connection property.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">If no set, then the table name will be fetched from the parent node 
using the "schema" attribute</doc>
+        <doc xml:space="preserve">If no set, then the table name will be fetched from the parent node using 
the "schema" attribute</doc>
         <type name="utf8" c:type="gchar*"/>
       </property>
       <property name="table-name"
@@ -25997,7 +27292,7 @@ priority over the GdaTreeMgrColumns:connection property.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">If no set, then the table name will be fetched from the parent node 
using the "table_name" attribute</doc>
+        <doc xml:space="preserve">If no set, then the table name will be fetched from the parent node using 
the "table_name" attribute</doc>
         <type name="utf8" c:type="gchar*"/>
       </property>
       <field name="object">
@@ -26028,14 +27323,14 @@ priority over the GdaTreeMgrColumns:connection property.</doc>
       <constructor name="new"
                    c:identifier="gda_tree_mgr_label_new"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node 
labelled @label</doc>
+        <doc xml:space="preserve">Creates a new #GdaTreeManager object which will add one tree node labelled 
@label</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+          <doc xml:space="preserve">a new #GdaTreeManager object</doc>
           <type name="TreeManager" c:type="GdaTreeManager*"/>
         </return-value>
         <parameters>
           <parameter name="label" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a label string</doc>
+            <doc xml:space="preserve">a label string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26063,6 +27358,68 @@ priority over the GdaTreeMgrColumns:connection property.</doc>
     </record>
     <record name="TreeMgrLabelPriv" c:type="GdaTreeMgrLabelPriv" disguised="1">
     </record>
+    <class name="TreeMgrLdap"
+           c:symbol-prefix="tree_mgr_ldap"
+           c:type="GdaTreeMgrLdap"
+           parent="TreeManager"
+           glib:type-name="GdaTreeMgrLdap"
+           glib:get-type="gda_tree_mgr_ldap_get_type"
+           glib:type-struct="TreeMgrLdapClass">
+      <constructor name="new"
+                   c:identifier="gda_tree_mgr_ldap_new"
+                   version="4.2.8">
+        <doc xml:space="preserve">Creates a new #GdaTreeManager object which will list the children of the 
LDAP entry which Distinguished name
+is @dn. If @dn is %NULL, then the tree manager will look in the tree itself for an attribute named "dn" and
+use it.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new #GdaTreeManager object</doc>
+          <type name="TreeManager" c:type="GdaTreeManager*"/>
+        </return-value>
+        <parameters>
+          <parameter name="cnc" transfer-ownership="none">
+            <doc xml:space="preserve">a #GdaConnection object</doc>
+            <type name="Connection" c:type="GdaConnection*"/>
+          </parameter>
+          <parameter name="dn"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">an LDAP Distinguished Name or %NULL</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <property name="connection"
+                introspectable="0"
+                writable="1"
+                construct-only="1"
+                transfer-ownership="none">
+        <doc xml:space="preserve">Defines the #GdaLdapConnection to get information from.</doc>
+        <type/>
+      </property>
+      <property name="dn"
+                writable="1"
+                construct-only="1"
+                transfer-ownership="none">
+        <doc xml:space="preserve">Defines the Distinguised Name of the LDAP entry to list children from</doc>
+        <type name="utf8" c:type="gchar*"/>
+      </property>
+      <field name="object">
+        <type name="TreeManager" c:type="GdaTreeManager"/>
+      </field>
+      <field name="priv">
+        <type name="TreeMgrLdapPriv" c:type="GdaTreeMgrLdapPriv*"/>
+      </field>
+    </class>
+    <record name="TreeMgrLdapClass"
+            c:type="GdaTreeMgrLdapClass"
+            glib:is-gtype-struct-for="TreeMgrLdap">
+      <field name="object_class">
+        <type name="TreeManagerClass" c:type="GdaTreeManagerClass"/>
+      </field>
+    </record>
+    <record name="TreeMgrLdapPriv" c:type="GdaTreeMgrLdapPriv" disguised="1">
+    </record>
     <class name="TreeMgrSchemas"
            c:symbol-prefix="tree_mgr_schemas"
            c:type="GdaTreeMgrSchemas"
@@ -26073,15 +27430,15 @@ priority over the GdaTreeMgrColumns:connection property.</doc>
       <constructor name="new"
                    c:identifier="gda_tree_mgr_schemas_new"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node for 
each database schema found
+        <doc xml:space="preserve">Creates a new #GdaTreeManager object which will add one tree node for each 
database schema found
 in @cnc.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+          <doc xml:space="preserve">a new #GdaTreeManager object</doc>
           <type name="TreeManager" c:type="GdaTreeManager*"/>
         </return-value>
         <parameters>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -26090,7 +27447,7 @@ in @cnc.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the #GdaConnection to display information for. Necessary upon 
construction unless
+        <doc xml:space="preserve">Defines the #GdaConnection to display information for. Necessary upon 
construction unless
 the #GdaTreeMgrSchema:meta-store property is specified instead.</doc>
         <type name="Connection"/>
       </property>
@@ -26099,7 +27456,7 @@ the #GdaTreeMgrSchema:meta-store property is specified instead.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon 
construction unless
+        <doc xml:space="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon 
construction unless
 the #GdaTreeMgrSchema:connection property is specified instead. This property has
 priority over the GdaTreeMgrSchema:connection property.</doc>
         <type name="MetaStore"/>
@@ -26132,23 +27489,23 @@ priority over the GdaTreeMgrSchema:connection property.</doc>
       <constructor name="new"
                    c:identifier="gda_tree_mgr_select_new"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaTreeMgrSelect object which will add one tree node 
for each row in
+        <doc xml:space="preserve">Creates a new #GdaTreeMgrSelect object which will add one tree node for 
each row in
 the #GdaDataModel resulting from the execution of @stmt.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+          <doc xml:space="preserve">a new #GdaTreeManager object</doc>
           <type name="TreeManager" c:type="GdaTreeManager*"/>
         </return-value>
         <parameters>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="stmt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaStatement object representing a SELECT statement</doc>
+            <doc xml:space="preserve">a #GdaStatement object representing a SELECT statement</doc>
             <type name="Statement" c:type="GdaStatement*"/>
           </parameter>
           <parameter name="params" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaSet object representing fixed parameters which are to be 
used when executing @stmt</doc>
+            <doc xml:space="preserve">a #GdaSet object representing fixed parameters which are to be used 
when executing @stmt</doc>
             <type name="Set" c:type="GdaSet*"/>
           </parameter>
         </parameters>
@@ -26199,19 +27556,22 @@ the #GdaDataModel resulting from the execution of @stmt.</doc>
       <constructor name="new"
                    c:identifier="gda_tree_mgr_tables_new"
                    version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node for 
each table found in the
+        <doc xml:space="preserve">Creates a new #GdaTreeManager object which will add one tree node for each 
table found in the
 @schema if it is not %NULL, or for each table visible by default in @cnc.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+          <doc xml:space="preserve">a new #GdaTreeManager object</doc>
           <type name="TreeManager" c:type="GdaTreeManager*"/>
         </return-value>
         <parameters>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+            <doc xml:space="preserve">a #GdaConnection object</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
-          <parameter name="schema" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a schema name or %NULL</doc>
+          <parameter name="schema"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a schema name or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26220,7 +27580,7 @@ the #GdaDataModel resulting from the execution of @stmt.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the #GdaConnection to display information for. Necessary upon 
construction unless
+        <doc xml:space="preserve">Defines the #GdaConnection to display information for. Necessary upon 
construction unless
 the #GdaTreeMgrTables:meta-store property is specified instead.</doc>
         <type name="Connection"/>
       </property>
@@ -26229,7 +27589,7 @@ the #GdaTreeMgrTables:meta-store property is specified instead.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon 
construction unless
+        <doc xml:space="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon 
construction unless
 the #GdaTreeMgrTables:connection property is specified instead. This property has
 priority over the GdaTreeMgrTables:connection property.</doc>
         <type name="MetaStore"/>
@@ -26239,7 +27599,7 @@ priority over the GdaTreeMgrTables:connection property.</doc>
                 writable="1"
                 construct-only="1"
                 transfer-ownership="none">
-        <doc xml:whitespace="preserve">If no set, then the table name will be fetched from the parent node 
using the "schema" attribute. If not
+        <doc xml:space="preserve">If no set, then the table name will be fetched from the parent node using 
the "schema" attribute. If not
 found that way, then the list of visible tables (tables which can be identified without having to specify
 a schema) will be used</doc>
         <type name="utf8" c:type="gchar*"/>
@@ -26270,14 +27630,17 @@ a schema) will be used</doc>
            glib:get-type="gda_tree_node_get_type"
            glib:type-struct="TreeNodeClass">
       <constructor name="new" c:identifier="gda_tree_node_new" version="4.2">
-        <doc xml:whitespace="preserve">Creates a new #GdaTreeNode object</doc>
+        <doc xml:space="preserve">Creates a new #GdaTreeNode object</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaTreeNode</doc>
+          <doc xml:space="preserve">a new #GdaTreeNode</doc>
           <type name="TreeNode" c:type="GdaTreeNode*"/>
         </return-value>
         <parameters>
-          <parameter name="name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a name, or %NULL</doc>
+          <parameter name="name"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a name, or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26368,22 +27731,22 @@ a schema) will be used</doc>
       <method name="fetch_attribute"
               c:identifier="gda_tree_node_fetch_attribute"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the value associated to the attribute named @attribute for @node. 
If the attribute is not set,
+        <doc xml:space="preserve">Get the value associated to the attribute named @attribute for @node. If 
the attribute is not set,
 then @node's parents is queries (recursively up to the top level node).
 
 Attributes can have any name, but Libgda proposes some default names,
 see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has 
been set for @node</doc>
+          <doc xml:space="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been 
set for @node</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode</doc>
+            <doc xml:space="preserve">a #GdaTreeNode</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name as a string</doc>
+            <doc xml:space="preserve">attribute name as a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26391,18 +27754,18 @@ see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;
       <method name="get_child_index"
               c:identifier="gda_tree_node_get_child_index"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the #GdaTreeNode child of @node at position @index (starting at 
0).</doc>
+        <doc xml:space="preserve">Get the #GdaTreeNode child of @node at position @index (starting at 
0).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaTreeNode, or %NULL if not found</doc>
+          <doc xml:space="preserve">the #GdaTreeNode, or %NULL if not found</doc>
           <type name="TreeNode" c:type="GdaTreeNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode object</doc>
+            <doc xml:space="preserve">a #GdaTreeNode object</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </instance-parameter>
           <parameter name="index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a index</doc>
+            <doc xml:space="preserve">a index</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
@@ -26410,18 +27773,18 @@ see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;
       <method name="get_child_name"
               c:identifier="gda_tree_node_get_child_name"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the #GdaTreeNode child of @node which has the #GDA_ATTRIBUTE_NAME 
set to @name</doc>
+        <doc xml:space="preserve">Get the #GdaTreeNode child of @node which has the #GDA_ATTRIBUTE_NAME set 
to @name</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GdaTreeNode, or %NULL if not found</doc>
+          <doc xml:space="preserve">the #GdaTreeNode, or %NULL if not found</doc>
           <type name="TreeNode" c:type="GdaTreeNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode object</doc>
+            <doc xml:space="preserve">a #GdaTreeNode object</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </instance-parameter>
           <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">requested node's name</doc>
+            <doc xml:space="preserve">requested node's name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26429,16 +27792,16 @@ see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;
       <method name="get_children"
               c:identifier="gda_tree_node_get_children"
               version="4.2">
-        <doc xml:whitespace="preserve">Get a list of all @node's children, free it with g_slist_free() after 
usage</doc>
+        <doc xml:space="preserve">Get a list of all @node's children, free it with g_slist_free() after 
usage</doc>
         <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a new #GSList of #GdaTreeNode objects, or %NULL if @node does not 
have any child</doc>
+          <doc xml:space="preserve">a new #GSList of #GdaTreeNode objects, or %NULL if @node does not have 
any child</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="TreeNode"/>
           </type>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode object</doc>
+            <doc xml:space="preserve">a #GdaTreeNode object</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </instance-parameter>
         </parameters>
@@ -26446,23 +27809,23 @@ see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;
       <method name="get_node_attribute"
               c:identifier="gda_tree_node_get_node_attribute"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the value associated to the attribute named @attribute for @node. 
The difference with gda_tree_node_fetch_attribute()
+        <doc xml:space="preserve">Get the value associated to the attribute named @attribute for @node. The 
difference with gda_tree_node_fetch_attribute()
 is that gda_tree_node_fetch_attribute() will also query @node's parents (recursively up to the top level 
node) if
 the attribute is not set for @node.
 
-Attributes can have any name, but Libgda proposes some default names, 
+Attributes can have any name, but Libgda proposes some default names,
 see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has 
been set for @node</doc>
+          <doc xml:space="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been 
set for @node</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode</doc>
+            <doc xml:space="preserve">a #GdaTreeNode</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name as a string</doc>
+            <doc xml:space="preserve">attribute name as a string</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26470,15 +27833,15 @@ see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;
       <method name="get_parent"
               c:identifier="gda_tree_node_get_parent"
               version="4.2">
-        <doc xml:whitespace="preserve">Get the #GdaTreeNode parent of @node in the #GdaTree node belongs to. 
If @node is at the top level,
+        <doc xml:space="preserve">Get the #GdaTreeNode parent of @node in the #GdaTree node belongs to. If 
@node is at the top level,
 then this method return %NULL.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the parent #GdaTreeNode</doc>
+          <doc xml:space="preserve">the parent #GdaTreeNode</doc>
           <type name="TreeNode" c:type="GdaTreeNode*"/>
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode object</doc>
+            <doc xml:space="preserve">a #GdaTreeNode object</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </instance-parameter>
         </parameters>
@@ -26486,12 +27849,12 @@ then this method return %NULL.</doc>
       <method name="set_node_attribute"
               c:identifier="gda_tree_node_set_node_attribute"
               version="4.2">
-        <doc xml:whitespace="preserve">Set the value associated to a named attribute. The @attribute string 
is used AS IT IS by this method (eg.
+        <doc xml:space="preserve">Set the value associated to a named attribute. The @attribute string is 
used AS IT IS by this method (eg.
 no copy of it is made), and
 the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL,
 then the string will not be freed at all).
 
-Attributes can have any name, but Libgda proposes some default names, 
+Attributes can have any name, but Libgda proposes some default names,
 see &lt;link linkend="libgda-40-Attributes-manager.synopsis"&gt;this section&lt;/link&gt;.
 
 For example one would use it as:
@@ -26508,19 +27871,22 @@ copied), except if @value is %NULL, in which case the attribute is removed.</doc
         </return-value>
         <parameters>
           <instance-parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaTreeNode</doc>
+            <doc xml:space="preserve">a #GdaTreeNode</doc>
             <type name="TreeNode" c:type="GdaTreeNode*"/>
           </instance-parameter>
           <parameter name="attribute" transfer-ownership="none">
-            <doc xml:whitespace="preserve">attribute name</doc>
+            <doc xml:space="preserve">attribute name</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="value" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+          <parameter name="value"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">a #GValue, or %NULL</doc>
             <type name="GObject.Value" c:type="const GValue*"/>
           </parameter>
           <parameter name="destroy" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
+            <doc xml:space="preserve">a function to be called when @attribute is not needed anymore, or 
%NULL</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
@@ -26535,50 +27901,51 @@ copied), except if @value is %NULL, in which case the attribute is removed.</doc
         <type name="TreeNodePrivate" c:type="GdaTreeNodePrivate*"/>
       </field>
       <glib:signal name="node-changed" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has changed</doc>
+        <doc xml:space="preserve">Gets emitted when a @node has changed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaTreeNode which has changed</doc>
+            <doc xml:space="preserve">the #GdaTreeNode which has changed</doc>
             <type name="TreeNode"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="node-deleted" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has been removed</doc>
+        <doc xml:space="preserve">Gets emitted when a @node has been removed</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="relative_path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the path the node held, relative to @reporting</doc>
+            <doc xml:space="preserve">the path the node held, relative to @reporting</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="node-has-child-toggled" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has has a child when it did not have any or 
when it
+        <doc xml:space="preserve">Gets emitted when a @node has has a child when it did not have any or when 
it
 does not have a ny children anymore when it had some</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaTreeNode which changed from having children to being a 
leaf or the other way around</doc>
+            <doc xml:space="preserve">the #GdaTreeNode which changed from having children to being a
+       leaf or the other way around</doc>
             <type name="TreeNode"/>
           </parameter>
         </parameters>
       </glib:signal>
       <glib:signal name="node-inserted" when="last" version="4.2">
-        <doc xml:whitespace="preserve">Gets emitted when a @node has been inserted</doc>
+        <doc xml:space="preserve">Gets emitted when a @node has been inserted</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GdaTreeNode which has been inserted</doc>
+            <doc xml:space="preserve">the #GdaTreeNode which has been inserted</doc>
             <type name="TreeNode"/>
           </parameter>
         </parameters>
@@ -26773,19 +28140,19 @@ does not have a ny children anymore when it had some</doc>
            glib:get-type="gda_xa_transaction_get_type"
            glib:type-struct="XaTransactionClass">
       <constructor name="new" c:identifier="gda_xa_transaction_new">
-        <doc xml:whitespace="preserve">Creates a new #GdaXaTransaction object, which will control the 
process of
+        <doc xml:space="preserve">Creates a new #GdaXaTransaction object, which will control the process of
 performing a distributed transaction across several connections.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created object.</doc>
+          <doc xml:space="preserve">the newly created object.</doc>
           <type name="XaTransaction" c:type="GdaXaTransaction*"/>
         </return-value>
         <parameters>
           <parameter name="format" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a format ID</doc>
+            <doc xml:space="preserve">a format ID</doc>
             <type name="guint32" c:type="guint32"/>
           </parameter>
           <parameter name="global_transaction_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the global transaction ID</doc>
+            <doc xml:space="preserve">the global transaction ID</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26799,31 +28166,33 @@ performing a distributed transaction across several connections.</doc>
       <function name="string_to_id"
                 c:identifier="gda_xa_transaction_string_to_id"
                 introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GdaXaTransactionId structure from its string 
representation, it's the opposite
+        <doc xml:space="preserve">Creates a new #GdaXaTransactionId structure from its string 
representation, it's the opposite
 of gda_xa_transaction_id_to_string().</doc>
         <return-value>
-          <doc xml:whitespace="preserve">a new #GdaXaTransactionId structure, or %NULL in @str has a wrong 
format  Free-function: g_free</doc>
+          <doc xml:space="preserve">a new #GdaXaTransactionId structure, or %NULL in @str has a wrong format
+
+Free-function: g_free</doc>
           <type name="XaTransactionId" c:type="GdaXaTransactionId*"/>
         </return-value>
         <parameters>
           <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string representation of a #GdaXaTransactionId, in the 
"gtrid,bqual,formatID" format</doc>
+            <doc xml:space="preserve">a string representation of a #GdaXaTransactionId, in the 
"gtrid,bqual,formatID" format</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
       </function>
       <method name="begin" c:identifier="gda_xa_transaction_begin" throws="1">
-        <doc xml:whitespace="preserve">Begins a distributed transaction (managed by @xa_trans). Please note 
that this phase may fail
+        <doc xml:space="preserve">Begins a distributed transaction (managed by @xa_trans). Please note that 
this phase may fail
 for some connections if a (normal) transaction is already started (this depends on the database
 provider being used), so it's better to avoid starting any (normal) transaction on any of the
 connections registered with @xa_trans.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+          <doc xml:space="preserve">TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="xa_trans" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaXaTransaction object</doc>
+            <doc xml:space="preserve">a #GdaXaTransaction object</doc>
             <type name="XaTransaction" c:type="GdaXaTransaction*"/>
           </instance-parameter>
         </parameters>
@@ -26831,9 +28200,9 @@ connections registered with @xa_trans.</doc>
       <method name="commit"
               c:identifier="gda_xa_transaction_commit"
               throws="1">
-        <doc xml:whitespace="preserve">Commits a distributed transaction (managed by @xa_trans). The commit 
is composed of two phases:
+        <doc xml:space="preserve">Commits a distributed transaction (managed by @xa_trans). The commit is 
composed of two phases:
 &lt;itemizedlist&gt;
-  &lt;listitem&gt;&lt;para&gt;a PREPARE phase where all the connections are required to store their 
transaction data to a 
+  &lt;listitem&gt;&lt;para&gt;a PREPARE phase where all the connections are required to store their 
transaction data to a
     permanent place (to be able to complete the commit should a problem occur 
afterwards)&lt;/para&gt;&lt;/listitem&gt;
   &lt;listitem&gt;&lt;para&gt;a COMMIT phase where the transaction data is actually written to the 
database&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;
@@ -26842,20 +28211,21 @@ If the PREPARE phase fails for any of the connection registered with @xa_trans,
 fails and FALSE is returned. During the COMMIT phase, some commit may actually fail but the transaction can
 still be completed because the PREPARE phase succeeded (through the recover method).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if no error occurred (there may be some connections to 
recover, though)</doc>
+          <doc xml:space="preserve">TRUE if no error occurred (there may be some connections to recover, 
though)</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="xa_trans" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaXaTransaction object</doc>
+            <doc xml:space="preserve">a #GdaXaTransaction object</doc>
             <type name="XaTransaction" c:type="GdaXaTransaction*"/>
           </instance-parameter>
           <parameter name="cnc_to_recover"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store the list of connections for which the commit 
phase failed, or %NULL</doc>
+            <doc xml:space="preserve">a place to store the list of connections for which the commit phase 
failed, or %NULL</doc>
             <type name="GLib.SList" c:type="GSList**">
               <type name="Connection"/>
             </type>
@@ -26865,24 +28235,25 @@ still be completed because the PREPARE phase succeeded (through the recover meth
       <method name="commit_recovered"
               c:identifier="gda_xa_transaction_commit_recovered"
               throws="1">
-        <doc xml:whitespace="preserve">Tries to commit the data prepared but which failed to commit (see 
gda_xa_transaction_commit()). This
+        <doc xml:space="preserve">Tries to commit the data prepared but which failed to commit (see 
gda_xa_transaction_commit()). This
 method allows one to terminate a distributed transaction which succeeded but for which some
 connections needed to be recovered.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if all the data which was still uncommitted has been 
committed</doc>
+          <doc xml:space="preserve">%TRUE if all the data which was still uncommitted has been 
committed</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="xa_trans" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaXaTransaction object</doc>
+            <doc xml:space="preserve">a #GdaXaTransaction object</doc>
             <type name="XaTransaction" c:type="GdaXaTransaction*"/>
           </instance-parameter>
           <parameter name="cnc_to_recover"
                      direction="out"
                      caller-allocates="0"
                      transfer-ownership="full"
+                     optional="1"
                      allow-none="1">
-            <doc xml:whitespace="preserve">a place to store the list of connections for which the there were 
data to recover and which failed to be actually committed, or %NULL</doc>
+            <doc xml:space="preserve">a place to store the list of connections for which the there were data 
to recover and which failed to be actually committed, or %NULL</doc>
             <type name="GLib.SList" c:type="GSList**">
               <type name="Connection"/>
             </type>
@@ -26892,26 +28263,26 @@ connections needed to be recovered.</doc>
       <method name="register_connection"
               c:identifier="gda_xa_transaction_register_connection"
               throws="1">
-        <doc xml:whitespace="preserve">Registers @cnc to be used by @xa_trans to create a distributed 
transaction.
+        <doc xml:space="preserve">Registers @cnc to be used by @xa_trans to create a distributed transaction.
 
 Note: any #GdaConnection object can only be registered with at most one #GdaXaTransaction object; also
 some connections may not be registered at all with a #GdaXaTransaction object because the database
 provider being used does not support it.</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="xa_trans" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaXaTransaction object</doc>
+            <doc xml:space="preserve">a #GdaXaTransaction object</doc>
             <type name="XaTransaction" c:type="GdaXaTransaction*"/>
           </instance-parameter>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the connection to add to @xa_trans</doc>
+            <doc xml:space="preserve">the connection to add to @xa_trans</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
           <parameter name="branch" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the branch qualifier</doc>
+            <doc xml:space="preserve">the branch qualifier</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -26919,32 +28290,32 @@ provider being used does not support it.</doc>
       <method name="rollback"
               c:identifier="gda_xa_transaction_rollback"
               throws="1">
-        <doc xml:whitespace="preserve">Cancels a distributed transaction (managed by @xa_trans).</doc>
+        <doc xml:space="preserve">Cancels a distributed transaction (managed by @xa_trans).</doc>
         <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+          <doc xml:space="preserve">%TRUE if no error occurred</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="xa_trans" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaXaTransaction object</doc>
+            <doc xml:space="preserve">a #GdaXaTransaction object</doc>
             <type name="XaTransaction" c:type="GdaXaTransaction*"/>
           </instance-parameter>
         </parameters>
       </method>
       <method name="unregister_connection"
               c:identifier="gda_xa_transaction_unregister_connection">
-        <doc xml:whitespace="preserve">Unregisters @cnc to be used by @xa_trans to create a distributed 
transaction. This is
+        <doc xml:space="preserve">Unregisters @cnc to be used by @xa_trans to create a distributed 
transaction. This is
 the opposite of gda_xa_transaction_register_connection().</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="xa_trans" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaXaTransaction object</doc>
+            <doc xml:space="preserve">a #GdaXaTransaction object</doc>
             <type name="XaTransaction" c:type="GdaXaTransaction*"/>
           </instance-parameter>
           <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the connection to add to @xa_trans</doc>
+            <doc xml:space="preserve">the connection to add to @xa_trans</doc>
             <type name="Connection" c:type="GdaConnection*"/>
           </parameter>
         </parameters>
@@ -27019,12 +28390,15 @@ the opposite of gda_xa_transaction_register_connection().</doc>
     </enumeration>
     <record name="XaTransactionId" c:type="GdaXaTransactionId">
       <field name="format" writable="1">
+        <doc xml:space="preserve">any number</doc>
         <type name="guint32" c:type="guint32"/>
       </field>
       <field name="gtrid_length" writable="1">
+        <doc xml:space="preserve">number between 1 and 64</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="bqual_length" writable="1">
+        <doc xml:space="preserve">number between 1 and 64</doc>
         <type name="gushort" c:type="gushort"/>
       </field>
       <field name="data" writable="1">
@@ -27033,16 +28407,16 @@ the opposite of gda_xa_transaction_register_connection().</doc>
         </array>
       </field>
       <method name="to_string" c:identifier="gda_xa_transaction_id_to_string">
-        <doc xml:whitespace="preserve">Creates a string representation of @xid, in the format 
&amp;lt;gtrid&amp;gt;,&amp;lt;bqual&amp;gt;,&amp;lt;formatID&amp;gt; the 
+        <doc xml:space="preserve">Creates a string representation of @xid, in the format 
&amp;lt;gtrid&amp;gt;,&amp;lt;bqual&amp;gt;,&amp;lt;formatID&amp;gt; the
 &amp;lt;gtrid&amp;gt; and &amp;lt;bqual&amp;gt; strings contain alphanumeric characters, and non 
alphanumeric characters
 are converted to "%ab" where ab is the hexadecimal representation of the character.</doc>
         <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new string representation of @xid</doc>
+          <doc xml:space="preserve">a new string representation of @xid</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
           <instance-parameter name="xid" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GdaXaTransactionId pointer</doc>
+            <doc xml:space="preserve">a #GdaXaTransactionId pointer</doc>
             <type name="XaTransactionId" c:type="const GdaXaTransactionId*"/>
           </instance-parameter>
         </parameters>
@@ -27052,54 +28426,15 @@ are converted to "%ab" where ab is the hexadecimal representation of the charact
             c:type="GdaXaTransactionPrivate"
             disguised="1">
     </record>
-    <record name="_ServerOperationNode" c:type="_GdaServerOperationNode">
-      <field name="type" writable="1">
-        <type name="ServerOperationNodeType"
-              c:type="GdaServerOperationNodeType"/>
-      </field>
-      <field name="status" writable="1">
-        <type name="ServerOperationNodeStatus"
-              c:type="GdaServerOperationNodeStatus"/>
-      </field>
-      <field name="plist" writable="1">
-        <type name="Set" c:type="GdaSet*"/>
-      </field>
-      <field name="model" writable="1">
-        <type name="DataModel" c:type="GdaDataModel*"/>
-      </field>
-      <field name="column" writable="1">
-        <type name="Column" c:type="GdaColumn*"/>
-      </field>
-      <field name="param" writable="1">
-        <type name="Holder" c:type="GdaHolder*"/>
-      </field>
-      <field name="priv" writable="1">
-        <type name="gpointer" c:type="gpointer"/>
-      </field>
-    </record>
-    <record name="_SqlParserIface" c:type="_GdaSqlParserIface">
-      <field name="parser" writable="1">
-        <type name="SqlParser" c:type="GdaSqlParser*"/>
-      </field>
-      <field name="parsed_statement" writable="1">
-        <type name="SqlStatement" c:type="GdaSqlStatement*"/>
-      </field>
-      <field name="_gda_reserved1" readable="0" private="1">
-        <type name="gpointer" c:type="gpointer"/>
-      </field>
-      <field name="_gda_reserved2" readable="0" private="1">
-        <type name="gpointer" c:type="gpointer"/>
-      </field>
-    </record>
     <function name="alphanum_to_text" c:identifier="gda_alphanum_to_text">
-      <doc xml:whitespace="preserve">Does the opposite of gda_text_to_alphanum(), in the same string</doc>
+      <doc xml:space="preserve">Does the opposite of gda_text_to_alphanum(), in the same string</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">@text if conversion succeeded or %NULL if an error occurred</doc>
+        <doc xml:space="preserve">@text if conversion succeeded or %NULL if an error occurred</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="text" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string</doc>
+          <doc xml:space="preserve">a string</doc>
           <type name="utf8" c:type="gchar*"/>
         </parameter>
       </parameters>
@@ -27127,14 +28462,16 @@ are converted to "%ab" where ab is the hexadecimal representation of the charact
     <function name="binary_copy"
               c:identifier="gda_binary_copy"
               moved-to="Binary.copy">
-      <doc xml:whitespace="preserve">Creates a new #GdaBinary structure from an existing one.</doc>
+      <doc xml:space="preserve">Creates a new #GdaBinary structure from an existing one.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a newly allocated #GdaBinary which contains a copy of information in 
@boxed.  Free-function: gda_binary_free</doc>
+        <doc xml:space="preserve">a newly allocated #GdaBinary which contains a copy of information in 
@boxed.
+
+Free-function: gda_binary_free</doc>
         <type name="gpointer" c:type="gpointer"/>
       </return-value>
       <parameters>
         <parameter name="boxed" transfer-ownership="none">
-          <doc xml:whitespace="preserve">source to get a copy from.</doc>
+          <doc xml:space="preserve">source to get a copy from.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
@@ -27142,13 +28479,13 @@ are converted to "%ab" where ab is the hexadecimal representation of the charact
     <function name="binary_free"
               c:identifier="gda_binary_free"
               moved-to="Binary.free">
-      <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBinary.</doc>
+      <doc xml:space="preserve">Deallocates all memory associated to the given #GdaBinary.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="boxed" transfer-ownership="full">
-          <doc xml:whitespace="preserve">#GdaBinary to free.</doc>
+          <doc xml:space="preserve">#GdaBinary to free.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
@@ -27156,14 +28493,16 @@ are converted to "%ab" where ab is the hexadecimal representation of the charact
     <function name="blob_copy"
               c:identifier="gda_blob_copy"
               moved-to="Blob.copy">
-      <doc xml:whitespace="preserve">Creates a new #GdaBlob structure from an existing one.</doc>
+      <doc xml:space="preserve">Creates a new #GdaBlob structure from an existing one.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a newly allocated #GdaBlob which contains a copy of information in 
@boxed.  Free-function: gda_blob_free</doc>
+        <doc xml:space="preserve">a newly allocated #GdaBlob which contains a copy of information in @boxed.
+
+Free-function: gda_blob_free</doc>
         <type name="gpointer" c:type="gpointer"/>
       </return-value>
       <parameters>
         <parameter name="boxed" transfer-ownership="none">
-          <doc xml:whitespace="preserve">source to get a copy from.</doc>
+          <doc xml:space="preserve">source to get a copy from.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
@@ -27171,43 +28510,43 @@ are converted to "%ab" where ab is the hexadecimal representation of the charact
     <function name="blob_free"
               c:identifier="gda_blob_free"
               moved-to="Blob.free">
-      <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBlob.</doc>
+      <doc xml:space="preserve">Deallocates all memory associated to the given #GdaBlob.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="boxed" transfer-ownership="full">
-          <doc xml:whitespace="preserve">#GdaBlob to free.</doc>
+          <doc xml:space="preserve">#GdaBlob to free.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
       </parameters>
     </function>
     <function name="completion_list_get"
               c:identifier="gda_completion_list_get">
-      <doc xml:whitespace="preserve">Creates an array of strings (terminated by a %NULL) corresponding to 
possible completions.
+      <doc xml:space="preserve">Creates an array of strings (terminated by a %NULL) corresponding to 
possible completions.
 If no completion is available, then the returned array contains just one NULL entry, and
 if it was not possible to try to compute a completions list, then %NULL is returned.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new array of strings, or %NULL (use g_strfreev() to free the 
returned array)</doc>
+        <doc xml:space="preserve">a new array of strings, or %NULL (use g_strfreev() to free the returned 
array)</doc>
         <array c:type="gchar**">
           <type name="utf8"/>
         </array>
       </return-value>
       <parameters>
         <parameter name="cnc" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+          <doc xml:space="preserve">a #GdaConnection object</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </parameter>
         <parameter name="sql" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a partial SQL statement which is the context of the completion 
proposal</doc>
+          <doc xml:space="preserve">a partial SQL statement which is the context of the completion 
proposal</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
         <parameter name="start" transfer-ownership="none">
-          <doc xml:whitespace="preserve">starting position within @sql of the "token" to complete (starts at 
0)</doc>
+          <doc xml:space="preserve">starting position within @sql of the "token" to complete (starts at 
0)</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
         <parameter name="end" transfer-ownership="none">
-          <doc xml:whitespace="preserve">ending position within @sql of the "token" to complete</doc>
+          <doc xml:space="preserve">ending position within @sql of the "token" to complete</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
       </parameters>
@@ -27215,36 +28554,45 @@ if it was not possible to try to compute a completions list, then %NULL is retur
     <function name="compute_dml_statements"
               c:identifier="gda_compute_dml_statements"
               throws="1">
-      <doc xml:whitespace="preserve">Creates an INSERT, an UPDATE and a DELETE statement from a SELECT 
statement
+      <doc xml:space="preserve">Creates an INSERT, an UPDATE and a DELETE statement from a SELECT statement
 using the database metadata available in @cnc's meta store. Each statements are computed only if
 the corresponding place to store the created statement is not %NULL.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+        <doc xml:space="preserve">%TRUE if no error occurred</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="cnc" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaConnection</doc>
+          <doc xml:space="preserve">a #GdaConnection</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </parameter>
         <parameter name="select_stmt" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a SELECT #GdaStatement (compound statements not handled)</doc>
+          <doc xml:space="preserve">a SELECT #GdaStatement (compound statements not handled)</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </parameter>
         <parameter name="require_pk" transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the created statement have to use a primary key</doc>
+          <doc xml:space="preserve">TRUE if the created statement have to use a primary key</doc>
           <type name="gboolean" c:type="gboolean"/>
         </parameter>
-        <parameter name="insert_stmt" transfer-ownership="full" allow-none="1">
-          <doc xml:whitespace="preserve">a place to store the created INSERT statement, or %NULL</doc>
+        <parameter name="insert_stmt"
+                   transfer-ownership="full"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a place to store the created INSERT statement, or %NULL</doc>
           <type name="Statement" c:type="GdaStatement**"/>
         </parameter>
-        <parameter name="update_stmt" transfer-ownership="full" allow-none="1">
-          <doc xml:whitespace="preserve">a place to store the created UPDATE statement, or %NULL</doc>
+        <parameter name="update_stmt"
+                   transfer-ownership="full"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a place to store the created UPDATE statement, or %NULL</doc>
           <type name="Statement" c:type="GdaStatement**"/>
         </parameter>
-        <parameter name="delete_stmt" transfer-ownership="full" allow-none="1">
-          <doc xml:whitespace="preserve">a place to store the created DELETE statement, or %NULL</doc>
+        <parameter name="delete_stmt"
+                   transfer-ownership="full"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a place to store the created DELETE statement, or %NULL</doc>
           <type name="Statement" c:type="GdaStatement**"/>
         </parameter>
       </parameters>
@@ -27253,16 +28601,16 @@ the corresponding place to store the created statement is not %NULL.</doc>
               c:identifier="gda_compute_select_statement_from_update"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Computes a SELECT statement which selects all the rows the @update_stmt 
would update. Beware
+      <doc xml:space="preserve">Computes a SELECT statement which selects all the rows the @update_stmt 
would update. Beware
 however that this #GdaSqlStatement does not select anything (ie it would be rendered as "SELECT FROM ... 
WHERE ...")
 and before being usable, one needs to add some fields to actually select.</doc>
       <return-value>
-        <doc xml:whitespace="preserve">a new #GdaStatement if no error occurred, or %NULL otherwise</doc>
+        <doc xml:space="preserve">a new #GdaStatement if no error occurred, or %NULL otherwise</doc>
         <type name="SqlStatement" c:type="GdaSqlStatement*"/>
       </return-value>
       <parameters>
         <parameter name="update_stmt" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an UPDATE statement</doc>
+          <doc xml:space="preserve">an UPDATE statement</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </parameter>
       </parameters>
@@ -27271,23 +28619,23 @@ and before being usable, one needs to add some fields to actually select.</doc>
               c:identifier="gda_compute_unique_table_row_condition"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Computes a #GdaSqlExpr expression which can be used in the WHERE clause 
of an UPDATE
+      <doc xml:space="preserve">Computes a #GdaSqlExpr expression which can be used in the WHERE clause of 
an UPDATE
 or DELETE statement when a row from the result of the @stsel statement has to be modified.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new #GdaSqlExpr, or %NULL if an error occurred.</doc>
+        <doc xml:space="preserve">a new #GdaSqlExpr, or %NULL if an error occurred.</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </return-value>
       <parameters>
         <parameter name="stsel" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaSqlSelectStatement</doc>
+          <doc xml:space="preserve">a #GdaSqlSelectStatement</doc>
           <type name="SqlStatementSelect" c:type="GdaSqlStatementSelect*"/>
         </parameter>
         <parameter name="mtable" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaMetaTable</doc>
+          <doc xml:space="preserve">a #GdaMetaTable</doc>
           <type name="MetaTable" c:type="GdaMetaTable*"/>
         </parameter>
         <parameter name="require_pk" transfer-ownership="none">
-          <doc xml:whitespace="preserve">set to TRUE if a primary key ir required</doc>
+          <doc xml:space="preserve">set to TRUE if a primary key ir required</doc>
           <type name="gboolean" c:type="gboolean"/>
         </parameter>
       </parameters>
@@ -27297,31 +28645,34 @@ or DELETE statement when a row from the result of the @stsel statement has to be
               version="4.0.3"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Computes a #GdaSqlExpr expression which can be used in the WHERE clause 
of an UPDATE
+      <doc xml:space="preserve">Computes a #GdaSqlExpr expression which can be used in the WHERE clause of 
an UPDATE
 or DELETE statement when a row from the result of the @stsel statement has to be modified.
 
 If @require_pk is %TRUE then this function will return a non %NULL #GdaSqlExpr only if it can
 use a primary key of @mtable. If @require_pk is %FALSE, then it will try to use a primary key of @mtable,
 and if none is available, it will use all the columns of @mtable to compute a condition statement.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new #GdaSqlExpr, or %NULL if an error occurred.</doc>
+        <doc xml:space="preserve">a new #GdaSqlExpr, or %NULL if an error occurred.</doc>
         <type name="SqlExpr" c:type="GdaSqlExpr*"/>
       </return-value>
       <parameters>
-        <parameter name="cnc" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+        <parameter name="cnc"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a #GdaConnection, or %NULL</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </parameter>
         <parameter name="stsel" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaSqlSelectStatement</doc>
+          <doc xml:space="preserve">a #GdaSqlSelectStatement</doc>
           <type name="SqlStatementSelect" c:type="GdaSqlStatementSelect*"/>
         </parameter>
         <parameter name="mtable" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaMetaTable</doc>
+          <doc xml:space="preserve">a #GdaMetaTable</doc>
           <type name="MetaTable" c:type="GdaMetaTable*"/>
         </parameter>
         <parameter name="require_pk" transfer-ownership="none">
-          <doc xml:whitespace="preserve">set to %TRUE if a primary key is required</doc>
+          <doc xml:space="preserve">set to %TRUE if a primary key is required</doc>
           <type name="gboolean" c:type="gboolean"/>
         </parameter>
       </parameters>
@@ -27330,18 +28681,18 @@ and if none is available, it will use all the columns of @mtable to compute a co
               c:identifier="gda_data_handler_get_default"
               moved-to="DataHandler.get_default"
               version="4.2.3">
-      <doc xml:whitespace="preserve">Obtain a pointer to a #GdaDataHandler which can manage #GValue values 
of type @for_type. The returned
+      <doc xml:space="preserve">Obtain a pointer to a #GdaDataHandler which can manage #GValue values of 
type @for_type. The returned
 data handler will be adapted to use the current locale information (for example dates will be formatted
 taking into account the locale).
 
 The returned pointer is %NULL if there is no default data handler available for the @for_type data type</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a #GdaDataHandler which must not be modified or destroyed.</doc>
+        <doc xml:space="preserve">a #GdaDataHandler which must not be modified or destroyed.</doc>
         <type name="DataHandler" c:type="GdaDataHandler*"/>
       </return-value>
       <parameters>
         <parameter name="for_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GType type</doc>
+          <doc xml:space="preserve">a #GType type</doc>
           <type name="GType" c:type="GType"/>
         </parameter>
       </parameters>
@@ -27356,15 +28707,15 @@ The returned pointer is %NULL if there is no default data handler available for
     <function name="default_escape_string"
               c:identifier="gda_default_escape_string"
               moved-to="Default.escape_string">
-      <doc xml:whitespace="preserve">Escapes @string to make it understandable by a DBMS. The escape method 
is very common and replaces any
+      <doc xml:space="preserve">Escapes @string to make it understandable by a DBMS. The escape method is 
very common and replaces any
 occurrence of "'" with "''" and "\" with "\\"</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string</doc>
+        <doc xml:space="preserve">a new string</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="string" transfer-ownership="none">
-          <doc xml:whitespace="preserve">string to escape</doc>
+          <doc xml:space="preserve">string to escape</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -27372,22 +28723,22 @@ occurrence of "'" with "''" and "\" with "\\"</doc>
     <function name="default_unescape_string"
               c:identifier="gda_default_unescape_string"
               moved-to="Default.unescape_string">
-      <doc xml:whitespace="preserve">Do the reverse of gda_default_escape_string(): transforms any "''" into 
"'", any
+      <doc xml:space="preserve">Do the reverse of gda_default_escape_string(): transforms any "''" into "'", 
any
 "\\" into "\" and any "\'" into "'".</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new unescaped string, or %NULL in an error was found in 
@string</doc>
+        <doc xml:space="preserve">a new unescaped string, or %NULL in an error was found in @string</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="string" transfer-ownership="none">
-          <doc xml:whitespace="preserve">string to unescape</doc>
+          <doc xml:space="preserve">string to unescape</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="dsn_split" c:identifier="gda_dsn_split">
-      <doc xml:whitespace="preserve">Extract the DSN, username and password from @string. in @string, the 
various parts are strings
-which are expected to be encoded using an RFC 1738 compliant encoding. If they are specified, 
+      <doc xml:space="preserve">Extract the DSN, username and password from @string. in @string, the various 
parts are strings
+which are expected to be encoded using an RFC 1738 compliant encoding. If they are specified,
 the returned username and password strings are correctly decoded.
 
 @out_username and @out_password may be set to %NULL depending on @string's format.</doc>
@@ -27396,25 +28747,25 @@ the returned username and password strings are correctly decoded.
       </return-value>
       <parameters>
         <parameter name="string" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string in the 
"[&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] ]&amp;lt;DSN&amp;gt;" form</doc>
+          <doc xml:space="preserve">a string in the "[&amp;lt;username&amp;gt;[:&amp;lt;password&amp;gt;] 
]&amp;lt;DSN&amp;gt;" form</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
         <parameter name="out_dsn" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a place to store the new string containing the &amp;lt;DSN&amp;gt; 
part</doc>
+          <doc xml:space="preserve">a place to store the new string containing the &amp;lt;DSN&amp;gt; 
part</doc>
           <type name="utf8" c:type="gchar**"/>
         </parameter>
         <parameter name="out_username" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a place to store the new string containing the 
&amp;lt;username&amp;gt; part</doc>
+          <doc xml:space="preserve">a place to store the new string containing the &amp;lt;username&amp;gt; 
part</doc>
           <type name="utf8" c:type="gchar**"/>
         </parameter>
         <parameter name="out_password" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a place to store the new string containing the 
&amp;lt;password&amp;gt; part</doc>
+          <doc xml:space="preserve">a place to store the new string containing the &amp;lt;password&amp;gt; 
part</doc>
           <type name="utf8" c:type="gchar**"/>
         </parameter>
       </parameters>
     </function>
     <function name="g_type_from_string" c:identifier="gda_g_type_from_string">
-      <doc xml:whitespace="preserve">Converts a named type to ts GType type (also see the 
gda_g_type_to_string() function).
+      <doc xml:space="preserve">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:
@@ -27437,30 +28788,31 @@ some type synonyms such as:
   &lt;listitem&gt;&lt;para&gt;"null" for GDA_TYPE_NULL&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the #GType represented by the given @str, or #G_TYPE_INVALID if not 
found</doc>
+        <doc xml:space="preserve">the #GType represented by the given @str, or #G_TYPE_INVALID if not 
found</doc>
         <type name="GType" c:type="GType"/>
       </return-value>
       <parameters>
         <parameter name="str" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of a #GType, as returned by gda_g_type_to_string().</doc>
+          <doc xml:space="preserve">the name of a #GType, as returned by gda_g_type_to_string().</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="g_type_to_string" c:identifier="gda_g_type_to_string">
-      <doc xml:whitespace="preserve">Converts a GType to its string representation (use 
gda_g_type_from_string() for the
+      <doc xml:space="preserve">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".</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the GDA's string representing the given #GType or the name returned 
by #g_type_name.</doc>
+        <doc xml:space="preserve">the GDA's string representing the given #GType or the name
+returned by #g_type_name.</doc>
         <type name="utf8" c:type="const gchar*"/>
       </return-value>
       <parameters>
         <parameter name="type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Type to convert from.</doc>
+          <doc xml:space="preserve">Type to convert from.</doc>
           <type name="GType" c:type="GType"/>
         </parameter>
       </parameters>
@@ -27490,85 +28842,85 @@ whereas g_type_name() converts it to "gchararray".</doc>
       </parameters>
     </function>
     <function name="identifier_equal" c:identifier="gda_identifier_equal">
-      <doc xml:whitespace="preserve">Does the same as strcmp(@id1, @id2), but handles the case where id1 
and/or id2 are enclosed in double quotes.
+      <doc xml:space="preserve">Does the same as strcmp(@id1, @id2), but handles the case where id1 and/or 
id2 are enclosed in double quotes.
 can also be used in hash tables as a #GEqualFunc.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">TRUE if @id1 and @id2 are equal.</doc>
+        <doc xml:space="preserve">%TRUE if @id1 and @id2 are equal.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="id1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an identifier string</doc>
+          <doc xml:space="preserve">an identifier string</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
         <parameter name="id2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an identifier string</doc>
+          <doc xml:space="preserve">an identifier string</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="identifier_hash" c:identifier="gda_identifier_hash">
-      <doc xml:whitespace="preserve">computes a hash string from @id, to be used in hash tables as a 
#GHashFunc</doc>
+      <doc xml:space="preserve">computes a hash string from @id, to be used in hash tables as a 
#GHashFunc</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a new hash</doc>
+        <doc xml:space="preserve">a new hash</doc>
         <type name="guint" c:type="guint"/>
       </return-value>
       <parameters>
         <parameter name="id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an identifier string</doc>
+          <doc xml:space="preserve">an identifier string</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="log_disable" c:identifier="gda_log_disable">
-      <doc xml:whitespace="preserve">Disables GDA logs.</doc>
+      <doc xml:space="preserve">Disables GDA logs.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
     </function>
     <function name="log_enable" c:identifier="gda_log_enable">
-      <doc xml:whitespace="preserve">Enables GDA logs.</doc>
+      <doc xml:space="preserve">Enables GDA logs.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
     </function>
     <function name="log_error" c:identifier="gda_log_error" introspectable="0">
-      <doc xml:whitespace="preserve">Logs the given error in the GDA log file.</doc>
+      <doc xml:space="preserve">Logs the given error in the GDA log file.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">format string (see the printf(3) documentation).</doc>
+          <doc xml:space="preserve">format string (see the printf(3) documentation).</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
-        <parameter name="arg1" transfer-ownership="none">
-          <varargs>
-          </varargs>
+        <parameter name="..." transfer-ownership="none">
+          <doc xml:space="preserve">arguments to insert in the error.</doc>
+          <varargs/>
         </parameter>
       </parameters>
     </function>
     <function name="log_is_enabled" c:identifier="gda_log_is_enabled">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">whether GDA logs are enabled (%TRUE or %FALSE).</doc>
+        <doc xml:space="preserve">whether GDA logs are enabled (%TRUE or %FALSE).</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
     </function>
     <function name="log_message"
               c:identifier="gda_log_message"
               introspectable="0">
-      <doc xml:whitespace="preserve">Logs the given message in the GDA log file.</doc>
+      <doc xml:space="preserve">Logs the given message in the GDA log file.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">format string (see the printf(3) documentation).</doc>
+          <doc xml:space="preserve">format string (see the printf(3) documentation).</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
-        <parameter name="arg1" transfer-ownership="none">
-          <varargs>
-          </varargs>
+        <parameter name="..." transfer-ownership="none">
+          <doc xml:space="preserve">arguments to insert in the message.</doc>
+          <varargs/>
         </parameter>
       </parameters>
     </function>
@@ -27617,62 +28969,156 @@ can also be used in hash tables as a #GEqualFunc.</doc>
         </parameter>
       </parameters>
     </function>
+    <function name="parse_formatted_date"
+              c:identifier="gda_parse_formatted_date"
+              version="5.2">
+      <doc xml:space="preserve">This function is similar to gda_parse_iso8601_date() (with @first being 
@G_DATE_YEAR, @second being @G_DATE_MONTH,
+ third being @G_DATE_DAY and @sep being '-') but allows one to specify the expected date format.</doc>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve">%TRUE if @value has been sucessfuly parsed as a valid date (see 
g_date_valid()).</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="gdate" transfer-ownership="none">
+          <doc xml:space="preserve">a pointer to a #GDate structure which will be filled</doc>
+          <type name="GLib.Date" c:type="GDate*"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <doc xml:space="preserve">a string to be parsed</doc>
+          <type name="utf8" c:type="const gchar*"/>
+        </parameter>
+        <parameter name="first" transfer-ownership="none">
+          <doc xml:space="preserve">a #GDateDMY specifying which of year, month or day appears first (in the 
first bytes) in @value</doc>
+          <type name="GLib.DateDMY" c:type="GDateDMY"/>
+        </parameter>
+        <parameter name="second" transfer-ownership="none">
+          <doc xml:space="preserve">a #GDateDMY specifying which of year, month or day appears second (in 
the first bytes) in @value</doc>
+          <type name="GLib.DateDMY" c:type="GDateDMY"/>
+        </parameter>
+        <parameter name="third" transfer-ownership="none">
+          <doc xml:space="preserve">a #GDateDMY specifying which of year, month or day appears third (in the 
first bytes) in @value</doc>
+          <type name="GLib.DateDMY" c:type="GDateDMY"/>
+        </parameter>
+        <parameter name="sep" transfer-ownership="none">
+          <doc xml:space="preserve">spcifies the expected separator character bewteen year, month and day 
(for example '-')</doc>
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="parse_formatted_time"
+              c:identifier="gda_parse_formatted_time"
+              version="5.2">
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve">%TRUE if no error occurred</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="timegda" transfer-ownership="none">
+          <doc xml:space="preserve">a pointer to a #GdaTime structure which will be filled</doc>
+          <type name="Time" c:type="GdaTime*"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <doc xml:space="preserve">a string</doc>
+          <type name="utf8" c:type="const gchar*"/>
+        </parameter>
+        <parameter name="sep" transfer-ownership="none">
+          <doc xml:space="preserve">the time separator, usually ':'. If equal to @0, then the expexted 
format will be HHMMSS...</doc>
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="parse_formatted_timestamp"
+              c:identifier="gda_parse_formatted_timestamp"
+              version="5.2">
+      <doc xml:space="preserve">This function is similar to gda_parse_iso8601_timestamp() (with @first being 
@G_DATE_YEAR, @second being @G_DATE_MONTH,
+ third being @G_DATE_DAY and @sep being '-') but allows one to specify the expected date format.</doc>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve">%TRUE if @value has been sucessfuly parsed as a valid date (see 
g_date_valid()).</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="timestamp" transfer-ownership="none">
+          <doc xml:space="preserve">a pointer to a #GdaTimeStamp structure which will be filled</doc>
+          <type name="Timestamp" c:type="GdaTimestamp*"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <doc xml:space="preserve">a string to be parsed</doc>
+          <type name="utf8" c:type="const gchar*"/>
+        </parameter>
+        <parameter name="first" transfer-ownership="none">
+          <doc xml:space="preserve">a #GDateDMY specifying which of year, month or day appears first (in the 
first bytes) in @value</doc>
+          <type name="GLib.DateDMY" c:type="GDateDMY"/>
+        </parameter>
+        <parameter name="second" transfer-ownership="none">
+          <doc xml:space="preserve">a #GDateDMY specifying which of year, month or day appears second (in 
the first bytes) in @value</doc>
+          <type name="GLib.DateDMY" c:type="GDateDMY"/>
+        </parameter>
+        <parameter name="third" transfer-ownership="none">
+          <doc xml:space="preserve">a #GDateDMY specifying which of year, month or day appears third (in the 
first bytes) in @value</doc>
+          <type name="GLib.DateDMY" c:type="GDateDMY"/>
+        </parameter>
+        <parameter name="sep" transfer-ownership="none">
+          <doc xml:space="preserve">spcifies the expected separator character bewteen year, month and day 
(for example '-')</doc>
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
     <function name="parse_iso8601_date" c:identifier="gda_parse_iso8601_date">
-      <doc xml:whitespace="preserve">Extracts date parts from @value, and sets @gdate's contents
+      <doc xml:space="preserve">Extracts date parts from @value, and sets @gdate's contents
 
 Accepted date format is "YYYY-MM-DD" (more or less than 4 digits for years and
 less than 2 digits for month and day are accepted). Years must be in the 1-65535 range,
 a limitation imposed by #GDate.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+        <doc xml:space="preserve">%TRUE if @value has been sucessfuly parsed as a valid date (see 
g_date_valid()).</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="gdate" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #GDate structure which will be filled</doc>
+          <doc xml:space="preserve">a pointer to a #GDate structure which will be filled</doc>
           <type name="GLib.Date" c:type="GDate*"/>
         </parameter>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string</doc>
+          <doc xml:space="preserve">a string</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="parse_iso8601_time" c:identifier="gda_parse_iso8601_time">
-      <doc xml:whitespace="preserve">Extracts time parts from @value, and sets @timegda's contents
+      <doc xml:space="preserve">Extracts time parts from @value, and sets @timegda's contents
 
 Accepted date format is "HH:MM:SS[.ms][TZ]" where TZ is +hour or -hour</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+        <doc xml:space="preserve">%TRUE if no error occurred</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="timegda" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #GdaTime structure which will be filled</doc>
+          <doc xml:space="preserve">a pointer to a #GdaTime structure which will be filled</doc>
           <type name="Time" c:type="GdaTime*"/>
         </parameter>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string</doc>
+          <doc xml:space="preserve">a string</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="parse_iso8601_timestamp"
               c:identifier="gda_parse_iso8601_timestamp">
-      <doc xml:whitespace="preserve">Extracts date and time parts from @value, and sets @timestamp's contents
+      <doc xml:space="preserve">Extracts date and time parts from @value, and sets @timestamp's contents
 
 Accepted date format is "YYYY-MM-DD HH:MM:SS[.ms][TZ]" where TZ is +hour or -hour</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+        <doc xml:space="preserve">%TRUE if @value has been sucessfuly parsed as a valid timestamp (see 
g_date_valid())</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="timestamp" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #GdaTimeStamp structure which will be filled</doc>
+          <doc xml:space="preserve">a pointer to a #GdaTimeStamp structure which will be filled</doc>
           <type name="Timestamp" c:type="GdaTimestamp*"/>
         </parameter>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string</doc>
+          <doc xml:space="preserve">a string</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -27682,7 +29128,7 @@ Accepted date format is "YYYY-MM-DD HH:MM:SS[.ms][TZ]" where TZ is +hour or -hou
               version="4.2.9"
               introspectable="0"
               throws="1">
-      <doc xml:whitespace="preserve">Modifies @sqlst to take into account any parameter which might be 
%NULL: if @sqlst contains the
+      <doc xml:space="preserve">Modifies @sqlst to take into account any parameter which might be %NULL: if 
@sqlst contains the
 equivalent of "xxx = &amp;lt;parameter definition&amp;gt;" and if that parameter is in @params and
 its value is of type GDA_TYPE_NUL, then that part is replaced with "xxx IS NULL". It also
 handles the "xxx IS NOT NULL" transformation.
@@ -27694,22 +29140,23 @@ This function is used by provider's implementations to make sure one can use par
 NULL values in statements without having to rewrite statements, as database usually don't
 consider that "xxx = NULL" is the same as "xxx IS NULL" when using parameters.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the modified @sqlst statement, or %NULL if an error occurred</doc>
+        <doc xml:space="preserve">the modified @sqlst statement, or %NULL if an error occurred</doc>
         <type name="SqlStatement" c:type="GdaSqlStatement*"/>
       </return-value>
       <parameters>
         <parameter name="sqlst" transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaSqlStatement</doc>
+          <doc xml:space="preserve">a #GdaSqlStatement</doc>
           <type name="SqlStatement" c:type="GdaSqlStatement*"/>
         </parameter>
         <parameter name="params" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaSet to be used as parameters when executing @stmt</doc>
+          <doc xml:space="preserve">a #GdaSet to be used as parameters when executing @stmt</doc>
           <type name="Set" c:type="GdaSet*"/>
         </parameter>
         <parameter name="out_modified"
                    transfer-ownership="none"
+                   nullable="1"
                    allow-none="1">
-          <doc xml:whitespace="preserve">a place to store the boolean which tells if @stmt has been modified 
or not, or %NULL</doc>
+          <doc xml:space="preserve">a place to store the boolean which tells if @stmt has been modified or 
not, or %NULL</doc>
           <type name="gboolean" c:type="gboolean*"/>
         </parameter>
       </parameters>
@@ -27718,7 +29165,7 @@ consider that "xxx = NULL" is the same as "xxx IS NULL" when using parameters.</
               c:identifier="gda_rewrite_statement_for_null_parameters"
               version="4.2.9"
               throws="1">
-      <doc xml:whitespace="preserve">Modifies @stmt to take into account any parameter which might be %NULL: 
if @stmt contains the
+      <doc xml:space="preserve">Modifies @stmt to take into account any parameter which might be %NULL: if 
@stmt contains the
 equivalent of "xxx = &amp;lt;parameter definition&amp;gt;" and if that parameter is in @params and
 its value is of type GDA_TYPE_NUL, then that part is replaced with "xxx IS NULL". It also
 handles the "xxx IS NOT NULL" transformation.
@@ -27739,27 +29186,30 @@ This function is used by provider's implementations to make sure one can use par
 NULL values in statements without having to rewrite statements, as database usually don't
 consider that "xxx = NULL" is the same as "xxx IS NULL" when using parameters.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if @stmt needs to be transformed to handle NULL parameters, and 
%FALSE otherwise</doc>
+        <doc xml:space="preserve">%TRUE if @stmt needs to be transformed to handle NULL parameters, and 
%FALSE otherwise</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="stmt" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaStatement</doc>
+          <doc xml:space="preserve">a #GdaStatement</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </parameter>
         <parameter name="params" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaSet to be used as parameters when executing @stmt</doc>
+          <doc xml:space="preserve">a #GdaSet to be used as parameters when executing @stmt</doc>
           <type name="Set" c:type="GdaSet*"/>
         </parameter>
-        <parameter name="out_stmt" transfer-ownership="full" allow-none="1">
-          <doc xml:whitespace="preserve">a place to store the new #GdaStatement, or %NULL</doc>
+        <parameter name="out_stmt"
+                   transfer-ownership="full"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a place to store the new #GdaStatement, or %NULL</doc>
           <type name="Statement" c:type="GdaStatement**"/>
         </parameter>
       </parameters>
     </function>
     <function name="rfc1738_decode" c:identifier="gda_rfc1738_decode">
-      <doc xml:whitespace="preserve">Decodes @string using the RFC 1738 recommendations: the
-&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by 
+      <doc xml:space="preserve">Decodes @string using the RFC 1738 recommendations: the
+&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by
 &lt;constant&gt;&amp;quot;%%ab&amp;quot;&lt;/constant&gt; where
 &lt;constant&gt;ab&lt;/constant&gt; is the hexadecimal number corresponding to the character.
 
@@ -27769,28 +29219,28 @@ is not decoded, and the function returns FALSE.
 
 @string is decoded in place, no new string gets created.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+        <doc xml:space="preserve">%TRUE if no error occurred.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="string" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string to decode</doc>
+          <doc xml:space="preserve">a string to decode</doc>
           <type name="utf8" c:type="gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="rfc1738_encode" c:identifier="gda_rfc1738_encode">
-      <doc xml:whitespace="preserve">Encodes @string using the RFC 1738 recommendations: the
-&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by 
+      <doc xml:space="preserve">Encodes @string using the RFC 1738 recommendations: the
+&lt;constant&gt;&amp;lt;&amp;gt;&amp;quot;#%{}|\^~[]&amp;apos;`;/?:@=&amp;amp;&lt;/constant&gt; and space 
characters are replaced by
 &lt;constant&gt;&amp;quot;%%ab&amp;quot;&lt;/constant&gt; where
 &lt;constant&gt;ab&lt;/constant&gt; is the hexadecimal number corresponding to the character.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string</doc>
+        <doc xml:space="preserve">a new string</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="string" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string to encode</doc>
+          <doc xml:space="preserve">a string to encode</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -27798,15 +29248,15 @@ is not decoded, and the function returns FALSE.
     <function name="select_alter_select_for_empty"
               c:identifier="gda_select_alter_select_for_empty"
               throws="1">
-      <doc xml:whitespace="preserve">Creates a new #GdaStatement, selecting the same data as @stmt, but 
which always returns an
+      <doc xml:space="preserve">Creates a new #GdaStatement, selecting the same data as @stmt, but which 
always returns an
 empty (no row) data model. This is use dy database providers' implementations.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new #GdaStatement</doc>
+        <doc xml:space="preserve">a new #GdaStatement</doc>
         <type name="Statement" c:type="GdaStatement*"/>
       </return-value>
       <parameters>
         <parameter name="stmt" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a SELECT #GdaStatement</doc>
+          <doc xml:space="preserve">a SELECT #GdaStatement</doc>
           <type name="Statement" c:type="GdaStatement*"/>
         </parameter>
       </parameters>
@@ -27858,7 +29308,7 @@ empty (no row) data model. This is use dy database providers' implementations.</
     <function name="sql_identifier_quote"
               c:identifier="gda_sql_identifier_quote"
               version="4.0.3">
-      <doc xml:whitespace="preserve">Use this function for any SQL identifier to make sure that:
+      <doc xml:space="preserve">Use this function for any SQL identifier to make sure that:
 &lt;itemizedlist&gt;
   &lt;listitem&gt;
     &lt;para&gt;it is correctly formatted
@@ -28028,47 +29478,55 @@ to @prov.
 For more information, see the &lt;link linkend="gen:sql_identifiers"&gt;SQL identifiers and 
abstraction&lt;/link&gt; and
 &lt;link linkend="information_schema:sql_identifiers"&gt;SQL identifiers in meta data&lt;/link&gt; 
sections.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the representation of @id ready to be used in SQL statement, as a new 
string, or %NULL if @id is in a wrong format</doc>
+        <doc xml:space="preserve">the representation of @id ready to be used in SQL statement, as a new 
string,
+         or %NULL if @id is in a wrong format</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an SQL identifier</doc>
+          <doc xml:space="preserve">an SQL identifier</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
-        <parameter name="cnc" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+        <parameter name="cnc"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a #GdaConnection object, or %NULL</doc>
           <type name="Connection" c:type="GdaConnection*"/>
         </parameter>
-        <parameter name="prov" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">a #GdaServerProvider object, or %NULL @for_meta_store set to %TRUE 
if the returned string will be used in a #GdaMetaStore</doc>
+        <parameter name="prov"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a #GdaServerProvider object, or %NULL
+ for_meta_store set to %TRUE if the returned string will be used in a #GdaMetaStore</doc>
           <type name="ServerProvider" c:type="GdaServerProvider*"/>
         </parameter>
         <parameter name="meta_store_convention" transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </parameter>
         <parameter name="force_quotes" transfer-ownership="none">
-          <doc xml:whitespace="preserve">set to %TRUE to force the returned string to be quoted</doc>
+          <doc xml:space="preserve">set to %TRUE to force the returned string to be quoted</doc>
           <type name="gboolean" c:type="gboolean"/>
         </parameter>
       </parameters>
     </function>
     <function name="sql_identifier_split"
               c:identifier="gda_sql_identifier_split">
-      <doc xml:whitespace="preserve">Splits @id into an array of it sub parts. @id's format has to be 
"&amp;lt;part&amp;gt;[.&amp;lt;part&amp;gt;[...]]" where
+      <doc xml:space="preserve">Splits @id into an array of it sub parts. @id's format has to be 
"&amp;lt;part&amp;gt;[.&amp;lt;part&amp;gt;[...]]" where
 each part is either a text surrounded by double quotes which can contain upper and lower cases or
 an SQL identifier in lower case.
 
 For example the &lt;![CDATA["test.\"ATable\""]]&gt; string will result in the array: &lt;![CDATA[{"test", 
"\"ATable\"", NULL}]]&gt;</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new %NULL-terminated array of strings, or NULL (use g_strfreev() to 
free the returned array)</doc>
+        <doc xml:space="preserve">a new %NULL-terminated array of strings, or NULL (use g_strfreev() to free 
the returned array)</doc>
         <array c:type="gchar**">
           <type name="utf8"/>
         </array>
       </return-value>
       <parameters>
         <parameter name="id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an SQL identifier</doc>
+          <doc xml:space="preserve">an SQL identifier</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -28201,46 +29659,49 @@ For example the &lt;![CDATA["test.\"ATable\""]]&gt; string will result in the ar
       </parameters>
     </function>
     <function name="string_to_binary" c:identifier="gda_string_to_binary">
-      <doc xml:whitespace="preserve">Performs the reverse of gda_binary_to_string() (note that for any 
"\xyz" succession
+      <doc xml:space="preserve">Performs the reverse of gda_binary_to_string() (note that for any "\xyz" 
succession
 of 4 characters where "xyz" represents a valid octal value, the resulting read value will
 be modulo 256).
 
 I @str is %NULL, then an empty (i.e. where the @data part is %NULL) #GdaBinary is created and returned.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new #GdaBinary if no error were found in @str, or %NULL 
otherwise</doc>
+        <doc xml:space="preserve">a new #GdaBinary if no error were found in @str, or %NULL otherwise</doc>
         <type name="Binary" c:type="GdaBinary*"/>
       </return-value>
       <parameters>
-        <parameter name="str" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">a string to convert, or %NULL</doc>
+        <parameter name="str"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">a string to convert, or %NULL</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="string_to_blob" c:identifier="gda_string_to_blob">
-      <doc xml:whitespace="preserve">Performs the reverse of gda_blob_to_string().</doc>
+      <doc xml:space="preserve">Performs the reverse of gda_blob_to_string().</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new #gdaBlob if no error were found in @str, or NULL otherwise</doc>
+        <doc xml:space="preserve">a new #gdaBlob if no error were found in @str, or NULL otherwise</doc>
         <type name="Blob" c:type="GdaBlob*"/>
       </return-value>
       <parameters>
         <parameter name="str" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string to convert</doc>
+          <doc xml:space="preserve">a string to convert</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
     </function>
     <function name="text_to_alphanum" c:identifier="gda_text_to_alphanum">
-      <doc xml:whitespace="preserve">The "encoding" consists in replacing non
+      <doc xml:space="preserve">The "encoding" consists in replacing non
 alphanumeric character with the string "__gdaXX" where XX is the hex. representation
 of the non alphanumeric char.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string</doc>
+        <doc xml:space="preserve">a new string</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="text" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the text to convert</doc>
+          <doc xml:space="preserve">the text to convert</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -28297,23 +29758,23 @@ of the non alphanumeric char.</doc>
               c:identifier="gda_utility_check_data_model"
               shadowed-by="utility_check_data_model_v"
               introspectable="0">
-      <doc xml:whitespace="preserve">Check the column types of a GdaDataModel.</doc>
+      <doc xml:space="preserve">Check the column types of a GdaDataModel.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the data model's columns match the provided data types and 
number</doc>
+        <doc xml:space="preserve">%TRUE if the data model's columns match the provided data types and 
number</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="model" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
+          <doc xml:space="preserve">a #GdaDataModel object</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </parameter>
         <parameter name="nbcols" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the minimum requested number of columns</doc>
+          <doc xml:space="preserve">the minimum requested number of columns</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
-        <parameter name="arg2" transfer-ownership="none">
-          <varargs>
-          </varargs>
+        <parameter name="..." transfer-ownership="none">
+          <doc xml:space="preserve">@nbcols arguments of type GType or -1 (if any data type is 
accepted)</doc>
+          <varargs/>
         </parameter>
       </parameters>
     </function>
@@ -28321,22 +29782,22 @@ of the non alphanumeric char.</doc>
               c:identifier="gda_utility_check_data_model_v"
               shadows="utility_check_data_model"
               version="4.2.6">
-      <doc xml:whitespace="preserve">Check the column types of a GdaDataModel.</doc>
+      <doc xml:space="preserve">Check the column types of a GdaDataModel.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the data model's columns match the provided data types and 
number</doc>
+        <doc xml:space="preserve">%TRUE if the data model's columns match the provided data types and 
number</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="model" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
+          <doc xml:space="preserve">a #GdaDataModel object</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </parameter>
         <parameter name="nbcols" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the minimum requested number of columns</doc>
+          <doc xml:space="preserve">the minimum requested number of columns</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
         <parameter name="types" transfer-ownership="none">
-          <doc xml:whitespace="preserve">array with @nbcols length of type GType or null (if any data type 
is accepted)</doc>
+          <doc xml:space="preserve">array with @nbcols length of type GType or null (if any data type is 
accepted)</doc>
           <array length="1" zero-terminated="0" c:type="GType*">
             <type name="GType" c:type="GType"/>
           </array>
@@ -28345,65 +29806,71 @@ of the non alphanumeric char.</doc>
     </function>
     <function name="utility_data_model_dump_data_to_xml"
               c:identifier="gda_utility_data_model_dump_data_to_xml">
-      <doc xml:whitespace="preserve">Dump the data in a #GdaDataModel into a xmlNodePtr (as used in libxml).
+      <doc xml:space="preserve">Dump the data in a #GdaDataModel into a xmlNodePtr (as used in libxml).
 
 Warning: this function uses a #GdaDataModelIter iterator, and if @model does not offer a random access
 (check using gda_data_model_get_access_flags()), the iterator will be the same as normally used
 to access data in @model previously to calling this method, and this iterator will be moved (point to
 another row).</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+        <doc xml:space="preserve">%TRUE if no error occurred</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="model" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+          <doc xml:space="preserve">a #GdaDataModel</doc>
           <type name="DataModel" c:type="GdaDataModel*"/>
         </parameter>
         <parameter name="parent" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the parent XML node</doc>
+          <doc xml:space="preserve">the parent XML node</doc>
           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
         </parameter>
-        <parameter name="cols" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">an array containing which columns of @model will be exported, or 
%NULL for all columns</doc>
+        <parameter name="cols"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">an array containing which columns of @model will be exported, or %NULL 
for all columns</doc>
           <array length="3" zero-terminated="0" c:type="gint*">
             <type name="gint" c:type="gint"/>
           </array>
         </parameter>
         <parameter name="nb_cols" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns in @cols</doc>
+          <doc xml:space="preserve">the number of columns in @cols</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
-        <parameter name="rows" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">an array containing which rows of @model will be exported, or %NULL 
for all rows</doc>
+        <parameter name="rows"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">an array containing which rows of @model will be exported, or %NULL for 
all rows</doc>
           <array length="5" zero-terminated="0" c:type="gint*">
             <type name="gint" c:type="gint"/>
           </array>
         </parameter>
         <parameter name="nb_rows" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of rows in @rows</doc>
+          <doc xml:space="preserve">the number of rows in @rows</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
         <parameter name="use_col_ids" transfer-ownership="none">
-          <doc xml:whitespace="preserve">set to %TRUE to add column ID information</doc>
+          <doc xml:space="preserve">set to %TRUE to add column ID information</doc>
           <type name="gboolean" c:type="gboolean"/>
         </parameter>
       </parameters>
     </function>
     <function name="utility_data_model_find_column_description"
               c:identifier="gda_utility_data_model_find_column_description">
-      <doc xml:whitespace="preserve">Finds the description of a field into Metadata from a 
#GdaDataModel.</doc>
+      <doc xml:space="preserve">Finds the description of a field into Metadata from a #GdaDataModel.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">The field's description, or NULL if description is not set</doc>
+        <doc xml:space="preserve">The field's description, or NULL if description is not set</doc>
         <type name="utf8" c:type="const gchar*"/>
       </return-value>
       <parameters>
         <parameter name="model" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+          <doc xml:space="preserve">a #GdaDataSelect data model</doc>
           <type name="DataSelect" c:type="GdaDataSelect*"/>
         </parameter>
         <parameter name="field_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">field name</doc>
+          <doc xml:space="preserve">field name</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -28411,22 +29878,22 @@ another row).</doc>
     <function name="utility_holder_load_attributes"
               c:identifier="gda_utility_holder_load_attributes"
               throws="1">
-      <doc xml:whitespace="preserve">Note: this method may set the "source" custom string property</doc>
+      <doc xml:space="preserve">Note: this method may set the "source" custom string property</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+        <doc xml:space="preserve">%TRUE if no error occurred</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="holder" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaHolder</doc>
+          <doc xml:space="preserve">a #GdaHolder</doc>
           <type name="Holder" c:type="GdaHolder*"/>
         </parameter>
         <parameter name="node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an xmlNodePtr with a &amp;lt;parameter&amp;gt; tag</doc>
+          <doc xml:space="preserve">an xmlNodePtr with a &amp;lt;parameter&amp;gt; tag</doc>
           <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
         </parameter>
         <parameter name="sources" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a list of #GdaDataModel</doc>
+          <doc xml:space="preserve">a list of #GdaDataModel</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="DataModel"/>
           </type>
@@ -28434,7 +29901,7 @@ another row).</doc>
       </parameters>
     </function>
     <function name="value_compare" c:identifier="gda_value_compare">
-      <doc xml:whitespace="preserve">Compares two values of the same type, with the exception that a value 
of any type can be
+      <doc xml:space="preserve">Compares two values of the same type, with the exception that a value of any 
type can be
 compared to a GDA_TYPE_NULL value, specifically:
 &lt;itemizedlist&gt;
   &lt;listitem&gt;&lt;para&gt;if @value1 and @value2 are both GDA_TYPE_NULL values then the returned value 
is 0&lt;/para&gt;&lt;/listitem&gt;
@@ -28443,16 +29910,18 @@ compared to a GDA_TYPE_NULL value, specifically:
   &lt;listitem&gt;&lt;para&gt;in all other cases, @value1 and @value2 must be of the same type and their 
values are compared&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">if both values have the same type, returns 0 if both contain the same 
value, an integer less than 0 if @value1 is less than @value2 or an integer greater than 0 if @value1 is 
greater than @value2.</doc>
+        <doc xml:space="preserve">if both values have the same type, returns 0 if both contain
+the same value, an integer less than 0 if @value1 is less than @value2 or
+an integer greater than 0 if @value1 is greater than @value2.</doc>
         <type name="gint" c:type="gint"/>
       </return-value>
       <parameters>
         <parameter name="value1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue to compare (not %NULL)</doc>
+          <doc xml:space="preserve">a #GValue to compare (not %NULL)</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
         <parameter name="value2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the other #GValue to be compared to @value1 (not %NULL)</doc>
+          <doc xml:space="preserve">the other #GValue to be compared to @value1 (not %NULL)</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28460,20 +29929,22 @@ compared to a GDA_TYPE_NULL value, specifically:
     <function name="value_copy"
               c:identifier="gda_value_copy"
               introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new #GValue from an existing one.</doc>
+      <doc xml:space="preserve">Creates a new #GValue from an existing one.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a newly allocated #GValue with a copy of the data in @value.  
Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">a newly allocated #GValue with a copy of the data in @value.
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to get a copy from.</doc>
+          <doc xml:space="preserve">value to get a copy from.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
     </function>
     <function name="value_differ" c:identifier="gda_value_differ">
-      <doc xml:whitespace="preserve">Tells if two values are equal or not, by comparing memory 
representations. Unlike gda_value_compare(),
+      <doc xml:space="preserve">Tells if two values are equal or not, by comparing memory representations. 
Unlike gda_value_compare(),
 the returned value is boolean, and gives no idea about ordering.
 
 The two values must be of the same type, with the exception that a value of any type can be
@@ -28485,16 +29956,16 @@ compared to a GDA_TYPE_NULL value, specifically:
   &lt;listitem&gt;&lt;para&gt;in all other cases, @value1 and @value2 must be of the same type and their 
values are compared&lt;/para&gt;&lt;/listitem&gt;
 &lt;/itemizedlist&gt;</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a non 0 value if @value1 and @value2 differ, and 0 if they are 
equal</doc>
+        <doc xml:space="preserve">a non 0 value if @value1 and @value2 differ, and 0 if they are equal</doc>
         <type name="gint" c:type="gint"/>
       </return-value>
       <parameters>
         <parameter name="value1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue to compare.</doc>
+          <doc xml:space="preserve">a #GValue to compare.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
         <parameter name="value2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the other #GValue to be compared to @value1.</doc>
+          <doc xml:space="preserve">the other #GValue to be compared to @value1.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28502,13 +29973,16 @@ compared to a GDA_TYPE_NULL value, specifically:
     <function name="value_free"
               c:identifier="gda_value_free"
               introspectable="0">
-      <doc xml:whitespace="preserve">Deallocates all memory associated to a #GValue.</doc>
+      <doc xml:space="preserve">Deallocates all memory associated to a #GValue.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="value" transfer-ownership="full" allow-none="1">
-          <doc xml:whitespace="preserve">the resource to free (or %NULL)</doc>
+        <parameter name="value"
+                   transfer-ownership="full"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">the resource to free (or %NULL)</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
       </parameters>
@@ -28517,12 +29991,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_binary"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="Binary" c:type="const GdaBinary*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28531,12 +30005,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_blob"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="Blob" c:type="const GdaBlob*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28545,12 +30019,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_geometric_point"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="GeometricPoint" c:type="const GdaGeometricPoint*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28559,12 +30033,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_numeric"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="Numeric" c:type="const GdaNumeric*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28573,12 +30047,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_short"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="gshort" c:type="gshort"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28587,12 +30061,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_time"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="Time" c:type="const GdaTime*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28601,12 +30075,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_timestamp"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="Timestamp" c:type="const GdaTimestamp*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28615,12 +30089,12 @@ compared to a GDA_TYPE_NULL value, specifically:
               c:identifier="gda_value_get_ushort"
               introspectable="0">
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value stored in @value.</doc>
+        <doc xml:space="preserve">the value stored in @value.</doc>
         <type name="gushort" c:type="gushort"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+          <doc xml:space="preserve">a #GValue whose value we want to get.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28628,14 +30102,14 @@ compared to a GDA_TYPE_NULL value, specifically:
     <function name="value_is_null"
               c:identifier="gda_value_is_null"
               introspectable="0">
-      <doc xml:whitespace="preserve">Tests if a given @value is of type #GDA_TYPE_NULL.</doc>
+      <doc xml:space="preserve">Tests if a given @value is of type #GDA_TYPE_NULL.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a boolean that says whether or not @value is of type 
#GDA_TYPE_NULL.</doc>
+        <doc xml:space="preserve">a boolean that says whether or not @value is of type #GDA_TYPE_NULL.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to test.</doc>
+          <doc xml:space="preserve">value to test.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28643,27 +30117,29 @@ compared to a GDA_TYPE_NULL value, specifically:
     <function name="value_is_number"
               c:identifier="gda_value_is_number"
               introspectable="0">
-      <doc xml:whitespace="preserve">Gets whether the value stored in the given #GValue is of numeric type 
or not.</doc>
+      <doc xml:space="preserve">Gets whether the value stored in the given #GValue is of numeric type or 
not.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if a number, %FALSE otherwise.</doc>
+        <doc xml:space="preserve">%TRUE if a number, %FALSE otherwise.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue.</doc>
+          <doc xml:space="preserve">a #GValue.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
     </function>
     <function name="value_new" c:identifier="gda_value_new" introspectable="0">
-      <doc xml:whitespace="preserve">Makes a new #GValue of type @type.</doc>
+      <doc xml:space="preserve">Makes a new #GValue of type @type.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #GValue with the specified @type. You need to set 
the value in the returned GValue.  Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">the newly created #GValue with the specified @type. You need to set the 
value in the returned GValue.
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value type.</doc>
+          <doc xml:space="preserve">the new value type.</doc>
           <type name="GType" c:type="GType"/>
         </parameter>
       </parameters>
@@ -28671,18 +30147,20 @@ compared to a GDA_TYPE_NULL value, specifically:
     <function name="value_new_binary"
               c:identifier="gda_value_new_binary"
               introspectable="0">
-      <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_BINARY with value @val.</doc>
+      <doc xml:space="preserve">Makes a new #GValue of type #GDA_TYPE_BINARY with value @val.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #GValue.  Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">the newly created #GValue.
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to set for the new #GValue.</doc>
+          <doc xml:space="preserve">value to set for the new #GValue.</doc>
           <type name="guint8" c:type="const guchar*"/>
         </parameter>
         <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the size of the memory pool pointer to by @val.</doc>
+          <doc xml:space="preserve">the size of the memory pool pointer to by @val.</doc>
           <type name="glong" c:type="glong"/>
         </parameter>
       </parameters>
@@ -28690,18 +30168,20 @@ compared to a GDA_TYPE_NULL value, specifically:
     <function name="value_new_blob"
               c:identifier="gda_value_new_blob"
               introspectable="0">
-      <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_BLOB with the data contained by 
@val.</doc>
+      <doc xml:space="preserve">Makes a new #GValue of type #GDA_TYPE_BLOB with the data contained by 
@val.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #GValue.  Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">the newly created #GValue.
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to set for the new #GValue.</doc>
+          <doc xml:space="preserve">value to set for the new #GValue.</doc>
           <type name="guint8" c:type="const guchar*"/>
         </parameter>
         <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the size of the memory pool pointer to by @val.</doc>
+          <doc xml:space="preserve">the size of the memory pool pointer to by @val.</doc>
           <type name="glong" c:type="glong"/>
         </parameter>
       </parameters>
@@ -28709,15 +30189,17 @@ compared to a GDA_TYPE_NULL value, specifically:
     <function name="value_new_blob_from_file"
               c:identifier="gda_value_new_blob_from_file"
               introspectable="0">
-      <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_BLOB interfacing with the 
contents of the file
+      <doc xml:space="preserve">Makes a new #GValue of type #GDA_TYPE_BLOB interfacing with the contents of 
the file
 named @filename</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #GValue.  Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">the newly created #GValue.
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="filename" transfer-ownership="none">
-          <doc xml:whitespace="preserve">name of the file to manipulate</doc>
+          <doc xml:space="preserve">name of the file to manipulate</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -28726,14 +30208,17 @@ named @filename</doc>
               c:identifier="gda_value_new_default"
               version="4.2.9"
               introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new default value.</doc>
+      <doc xml:space="preserve">Creates a new default value.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new #GValue of the type #GDA_TYPE_DEFAULT</doc>
+        <doc xml:space="preserve">a new #GValue of the type #GDA_TYPE_DEFAULT</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
-        <parameter name="default_val" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">the default value as a string, or %NULL</doc>
+        <parameter name="default_val"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">the default value as a string, or %NULL</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -28741,23 +30226,25 @@ named @filename</doc>
     <function name="value_new_from_string"
               c:identifier="gda_value_new_from_string"
               introspectable="0">
-      <doc xml:whitespace="preserve">Makes a new #GValue of type @type from its string representation.
+      <doc xml:space="preserve">Makes a new #GValue of type @type from its string representation.
 
 For more information
 about the string format, see the gda_value_set_from_string() function.
 This function is typically used when reading configuration files or other non-user input that should be 
locale
 independent.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #GValue or %NULL if the string representation 
cannot be converted to the specified @type.  Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">the newly created #GValue or %NULL if the string representation cannot be 
converted to the specified @type.
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="as_string" transfer-ownership="none">
-          <doc xml:whitespace="preserve">stringified representation of the value.</doc>
+          <doc xml:space="preserve">stringified representation of the value.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
         <parameter name="type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value type.</doc>
+          <doc xml:space="preserve">the new value type.</doc>
           <type name="GType" c:type="GType"/>
         </parameter>
       </parameters>
@@ -28765,7 +30252,7 @@ independent.</doc>
     <function name="value_new_from_xml"
               c:identifier="gda_value_new_from_xml"
               introspectable="0">
-      <doc xml:whitespace="preserve">Creates a GValue from an XML representation of it. That XML
+      <doc xml:space="preserve">Creates a GValue from an XML representation of it. That XML
 node corresponds to the following string representation:
 &amp;lt;value type="gdatype"&amp;gt;value&amp;lt;/value&amp;gt;
 
@@ -28774,12 +30261,14 @@ about the string format, see the gda_value_set_from_string() function.
 This function is typically used when reading configuration files or other non-user input that should be 
locale
 independent.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #GValue.  Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">the newly created #GValue.
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an XML node representing the value.</doc>
+          <doc xml:space="preserve">an XML node representing the value.</doc>
           <type name="libxml2.NodePtr" c:type="const xmlNodePtr"/>
         </parameter>
       </parameters>
@@ -28787,25 +30276,34 @@ independent.</doc>
     <function name="value_new_null"
               c:identifier="gda_value_new_null"
               introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new #GValue initiated to a #GdaNull structure with a 
#GDA_TYPE_NULL, to
+      <doc xml:space="preserve">Creates a new #GValue initiated to a #GdaNull structure with a 
#GDA_TYPE_NULL, to
 represent a NULL in the database.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new #GValue of the type #GDA_TYPE_NULL</doc>
+        <doc xml:space="preserve">a new #GValue of the type #GDA_TYPE_NULL</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
     </function>
     <function name="value_new_timestamp_from_timet"
               c:identifier="gda_value_new_timestamp_from_timet"
               introspectable="0">
-      <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_TIMESTAMP with value @val
-(of type time_t).</doc>
+      <doc xml:space="preserve">Makes a new #GValue of type #GDA_TYPE_TIMESTAMP with value @val
+(of type time_t). The returned timestamp's value is relative to the current
+timezone (i.e. is localtime).
+
+For example, to get a time stamp representing the current date and time, use:
+
+&lt;code&gt;
+ts = gda_value_new_timestamp_from_timet (time (NULL));
+&lt;/code&gt;</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #GValue.  Free-function: gda_value_free</doc>
+        <doc xml:space="preserve">the newly created #GValue, or %NULL in case of error
+
+Free-function: gda_value_free</doc>
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
       <parameters>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to set for the new #GValue.</doc>
+          <doc xml:space="preserve">value to set for the new #GValue.</doc>
           <type name="glong" c:type="time_t"/>
         </parameter>
       </parameters>
@@ -28813,17 +30311,17 @@ represent a NULL in the database.</doc>
     <function name="value_reset_with_type"
               c:identifier="gda_value_reset_with_type"
               introspectable="0">
-      <doc xml:whitespace="preserve">Resets the #GValue and set a new type to #GType.</doc>
+      <doc xml:space="preserve">Resets the #GValue and set a new type to #GType.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GValue to be reseted</doc>
+          <doc xml:space="preserve">the #GValue to be reseted</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GType to set to</doc>
+          <doc xml:space="preserve">the #GType to set to</doc>
           <type name="GType" c:type="GType"/>
         </parameter>
       </parameters>
@@ -28831,17 +30329,17 @@ represent a NULL in the database.</doc>
     <function name="value_set_binary"
               c:identifier="gda_value_set_binary"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="binary" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaBinary structure with the data and its size to be stored in 
@value.</doc>
+          <doc xml:space="preserve">a #GdaBinary structure with the data and its size to be stored in 
@value.</doc>
           <type name="Binary" c:type="const GdaBinary*"/>
         </parameter>
       </parameters>
@@ -28849,17 +30347,17 @@ represent a NULL in the database.</doc>
     <function name="value_set_blob"
               c:identifier="gda_value_set_blob"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="blob" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdaBlob structure with the data and its size to be stored in 
@value.</doc>
+          <doc xml:space="preserve">a #GdaBlob structure with the data and its size to be stored in 
@value.</doc>
           <type name="Blob" c:type="const GdaBlob*"/>
         </parameter>
       </parameters>
@@ -28867,7 +30365,7 @@ represent a NULL in the database.</doc>
     <function name="value_set_from_string"
               c:identifier="gda_value_set_from_string"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores the value data from its string representation as @type.
+      <doc xml:space="preserve">Stores the value data from its string representation as @type.
 
 The accepted formats are:
 &lt;itemizedlist&gt;
@@ -28881,20 +30379,22 @@ The accepted formats are:
 This function is typically used when reading configuration files or other non-user input that should be 
locale
 independent.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the value has been converted to @type from its string 
representation; it not means that the value is converted successfully, just that the transformation is 
available. %FALSE otherwise.</doc>
+        <doc xml:space="preserve">%TRUE if the value has been converted to @type from
+its string representation; it not means that the value is converted
+successfully, just that the transformation is available. %FALSE otherwise.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="as_string" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the stringified representation of the value.</doc>
+          <doc xml:space="preserve">the stringified representation of the value.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
         <parameter name="type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of the value</doc>
+          <doc xml:space="preserve">the type of the value</doc>
           <type name="GType" c:type="GType"/>
         </parameter>
       </parameters>
@@ -28902,7 +30402,7 @@ independent.</doc>
     <function name="value_set_from_value"
               c:identifier="gda_value_set_from_value"
               introspectable="0">
-      <doc xml:whitespace="preserve">Sets the value of a #GValue from another #GValue. This
+      <doc xml:space="preserve">Sets the value of a #GValue from another #GValue. This
 is different from #gda_value_copy, which creates a new #GValue.
 #gda_value_set_from_value, on the other hand, copies the contents
 of @copy into @value, which must already be allocated.
@@ -28910,16 +30410,16 @@ of @copy into @value, which must already be allocated.
 If values are incompatible (see @g_value_type_compatible) then @value is set to a
 #GDA_TYPE_NULL, and %FALSE is returned.</doc>
       <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+        <doc xml:space="preserve">%TRUE if successful, %FALSE otherwise.</doc>
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue.</doc>
+          <doc xml:space="preserve">a #GValue.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="from" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the value to copy from.</doc>
+          <doc xml:space="preserve">the value to copy from.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -28927,17 +30427,17 @@ If values are incompatible (see @g_value_type_compatible) then @value is set to
     <function name="value_set_geometric_point"
               c:identifier="gda_value_set_geometric_point"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+          <doc xml:space="preserve">value to be stored in @value.</doc>
           <type name="GeometricPoint" c:type="const GdaGeometricPoint*"/>
         </parameter>
       </parameters>
@@ -28945,13 +30445,13 @@ If values are incompatible (see @g_value_type_compatible) then @value is set to
     <function name="value_set_null"
               c:identifier="gda_value_set_null"
               introspectable="0">
-      <doc xml:whitespace="preserve">Sets the type of @value to #GDA_TYPE_NULL.</doc>
+      <doc xml:space="preserve">Sets the type of @value to #GDA_TYPE_NULL.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store a value of type #GDA_TYPE_NULL.</doc>
+          <doc xml:space="preserve">a #GValue that will store a value of type #GDA_TYPE_NULL.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
       </parameters>
@@ -28959,17 +30459,17 @@ If values are incompatible (see @g_value_type_compatible) then @value is set to
     <function name="value_set_numeric"
               c:identifier="gda_value_set_numeric"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+          <doc xml:space="preserve">value to be stored in @value.</doc>
           <type name="Numeric" c:type="const GdaNumeric*"/>
         </parameter>
       </parameters>
@@ -28977,17 +30477,17 @@ If values are incompatible (see @g_value_type_compatible) then @value is set to
     <function name="value_set_short"
               c:identifier="gda_value_set_short"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+          <doc xml:space="preserve">value to be stored in @value.</doc>
           <type name="gshort" c:type="const gshort"/>
         </parameter>
       </parameters>
@@ -28995,17 +30495,17 @@ If values are incompatible (see @g_value_type_compatible) then @value is set to
     <function name="value_set_time"
               c:identifier="gda_value_set_time"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+          <doc xml:space="preserve">value to be stored in @value.</doc>
           <type name="Time" c:type="const GdaTime*"/>
         </parameter>
       </parameters>
@@ -29013,17 +30513,17 @@ If values are incompatible (see @g_value_type_compatible) then @value is set to
     <function name="value_set_timestamp"
               c:identifier="gda_value_set_timestamp"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+          <doc xml:space="preserve">value to be stored in @value.</doc>
           <type name="Timestamp" c:type="const GdaTimestamp*"/>
         </parameter>
       </parameters>
@@ -29031,35 +30531,35 @@ If values are incompatible (see @g_value_type_compatible) then @value is set to
     <function name="value_set_ushort"
               c:identifier="gda_value_set_ushort"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+      <doc xml:space="preserve">Stores @val into @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+          <doc xml:space="preserve">value to be stored in @value.</doc>
           <type name="gushort" c:type="const gushort"/>
         </parameter>
       </parameters>
     </function>
     <function name="value_stringify" c:identifier="gda_value_stringify">
-      <doc xml:whitespace="preserve">Converts a GValue to its string representation which is a human 
readable value. Note that the
+      <doc xml:space="preserve">Converts a GValue to its string representation which is a human readable 
value. Note that the
 returned string does not take into account the current locale of the user (on the contrary to the
 #GdaDataHandler objects). Using this function should be limited to debugging and values serialization
 purposes.
 
-Dates are converted in a YYYY-MM-DD format.</doc>
+Output is in the "C" locale for numbers, and dates are converted in a YYYY-MM-DD format.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new string, or %NULL if the conversion cannot be done. Free the 
value with a g_free() when you've finished using it.</doc>
+        <doc xml:space="preserve">a new string, or %NULL if the conversion cannot be done. Free the value 
with a g_free() when you've finished using it.</doc>
         <type name="utf8" c:type="gchar*"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue.</doc>
+          <doc xml:space="preserve">a #GValue.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
@@ -29067,18 +30567,18 @@ Dates are converted in a YYYY-MM-DD format.</doc>
     <function name="value_take_binary"
               c:identifier="gda_value_take_binary"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value, but on the contrary to gda_value_set_binary(), 
the @binary
+      <doc xml:space="preserve">Stores @val into @value, but on the contrary to gda_value_set_binary(), the 
@binary
 argument is not copied, but used as-is and it should be considered owned by @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="binary" transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaBinary structure with the data and its size to be stored in 
@value.</doc>
+          <doc xml:space="preserve">a #GdaBinary structure with the data and its size to be stored in 
@value.</doc>
           <type name="Binary" c:type="GdaBinary*"/>
         </parameter>
       </parameters>
@@ -29086,18 +30586,18 @@ argument is not copied, but used as-is and it should be considered owned by @val
     <function name="value_take_blob"
               c:identifier="gda_value_take_blob"
               introspectable="0">
-      <doc xml:whitespace="preserve">Stores @val into @value, but on the contrary to gda_value_set_blob(), 
the @blob
+      <doc xml:space="preserve">Stores @val into @value, but on the contrary to gda_value_set_blob(), the 
@blob
 argument is not copied, but used as-is and it should be considered owned by @value.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+          <doc xml:space="preserve">a #GValue that will store @val.</doc>
           <type name="GObject.Value" c:type="GValue*"/>
         </parameter>
         <parameter name="blob" transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #GdaBlob structure with the data and its size to be stored in 
@value.</doc>
+          <doc xml:space="preserve">a #GdaBlob structure with the data and its size to be stored in 
@value.</doc>
           <type name="Blob" c:type="GdaBlob*"/>
         </parameter>
       </parameters>
@@ -29105,14 +30605,14 @@ argument is not copied, but used as-is and it should be considered owned by @val
     <function name="value_to_xml"
               c:identifier="gda_value_to_xml"
               introspectable="0">
-      <doc xml:whitespace="preserve">Serializes the given #GValue to an XML node string.</doc>
+      <doc xml:space="preserve">Serializes the given #GValue to an XML node string.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the XML node. Once not needed anymore, you should free it.</doc>
+        <doc xml:space="preserve">the XML node. Once not needed anymore, you should free it.</doc>
         <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
       </return-value>
       <parameters>
         <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue.</doc>
+          <doc xml:space="preserve">a #GValue.</doc>
           <type name="GObject.Value" c:type="const GValue*"/>
         </parameter>
       </parameters>
diff --git a/libgda/libgda-5.0.deps b/libgda/libgda-5.0.deps
new file mode 100644
index 0000000..b6ff23e
--- /dev/null
+++ b/libgda/libgda-5.0.deps
@@ -0,0 +1,3 @@
+glib-2.0
+gobject-2.0
+libxml-2.0
\ No newline at end of file
diff --git a/libgda/libgda-5.0.vapi b/libgda/libgda-5.0.vapi
index e9e945e..87281f3 100644
--- a/libgda/libgda-5.0.vapi
+++ b/libgda/libgda-5.0.vapi
@@ -1,4 +1,4 @@
-/* libgda-5.0.vapi generated by vapigen-0.18, do not modify. */
+/* libgda-5.0.vapi generated by vapigen-0.26, do not modify. */
 
 [CCode (cprefix = "Gda", gir_namespace = "Gda", gir_version = "5.0", lower_case_cprefix = "gda_")]
 namespace Gda {
@@ -51,10 +51,10 @@ namespace Gda {
                public Column ();
                public Gda.Column copy ();
                public bool get_allow_null ();
-               public GLib.Value get_attribute (string attribute);
+               public unowned GLib.Value? get_attribute (string attribute);
                public bool get_auto_increment ();
                public unowned string get_dbms_type ();
-               public GLib.Value get_default_value ();
+               public unowned GLib.Value? get_default_value ();
                public unowned string get_description ();
                public GLib.Type get_g_type ();
                public unowned string get_name ();
@@ -87,7 +87,7 @@ namespace Gda {
                public static int get_dsn_info_index (string dsn_name);
                public static int get_nb_dsn ();
                public static unowned Gda.ServerProvider get_provider (string provider_name) throws 
GLib.Error;
-               public static Gda.ProviderInfo get_provider_info (string provider_name);
+               public static unowned Gda.ProviderInfo? get_provider_info (string provider_name);
                public static Gda.DataModel list_dsn ();
                public static Gda.DataModel list_providers ();
                public static bool remove_dsn (string dsn_name) throws GLib.Error;
@@ -130,6 +130,7 @@ namespace Gda {
                public Connection.from_string (string? provider_name, string cnc_string, string? auth_string, 
Gda.ConnectionOptions options) throws GLib.Error;
                public unowned string get_authentication ();
                public unowned string get_cnc_string ();
+               public bool get_date_format (out GLib.DateDMY out_first, out GLib.DateDMY out_second, out 
GLib.DateDMY out_third, out string out_sep) throws GLib.Error;
                public unowned string get_dsn ();
                public unowned GLib.List<Gda.ConnectionEvent> get_events ();
                public unowned Gda.MetaStore get_meta_store ();
@@ -158,7 +159,7 @@ namespace Gda {
                public Gda.DataModel statement_execute_select_full (Gda.Statement stmt, Gda.Set? @params, 
Gda.StatementModelUsage model_usage, [CCode (array_length = false)] GLib.Type[]? col_types) throws GLib.Error;
                public bool statement_prepare (Gda.Statement stmt) throws GLib.Error;
                public string statement_to_sql (Gda.Statement stmt, Gda.Set? @params, Gda.StatementSqlFlag 
flags, out GLib.SList<weak Gda.Holder> params_used) throws GLib.Error;
-               public static void string_split (string string, string out_cnc_params, string out_provider, 
string out_username, string out_password);
+               public static void string_split (string string, string out_cnc_params, string out_provider, 
string out_username, string? out_password);
                public bool supports_feature (Gda.ConnectionFeature feature);
                public bool update_meta_store (Gda.MetaContext? context) throws GLib.Error;
                public bool update_row_in_table_v (string table, string condition_column_name, GLib.Value 
condition_value, GLib.SList<string> col_names, GLib.SList<GLib.Value?> values) throws GLib.Error;
@@ -226,7 +227,7 @@ namespace Gda {
                public DataComparator (Gda.DataModel old_model, Gda.DataModel new_model);
                public bool compute_diff () throws GLib.Error;
                public static GLib.Quark error_quark ();
-               public Gda.Diff get_diff (int pos);
+               public unowned Gda.Diff? get_diff (int pos);
                public int get_n_diffs ();
                public void set_key_columns ([CCode (array_length_cname = "nb_cols", array_length_pos = 1.1)] 
int[] col_numbers);
                [NoAccessorMethod]
@@ -310,6 +311,25 @@ namespace Gda {
                public virtual signal void end_of_data ();
                public virtual signal void row_changed (int row);
        }
+       [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_ldap_get_type ()")]
+       public class DataModelLdap : GLib.Object, Gda.DataModel {
+               [CCode (has_construct_function = false)]
+               protected DataModelLdap ();
+               public static GLib.List<Gda.Column> compute_columns (Gda.Connection cnc, string? attributes);
+               [Deprecated (since = "5.2")]
+               public static Gda.DataModel @new (Gda.Connection cnc, string? base_dn, string? filter, 
string? attributes, Gda.LdapSearchScope scope);
+               [CCode (has_construct_function = false)]
+               public DataModelLdap.with_config (Gda.Connection cnc, string? base_dn, string? filter, 
string? attributes, Gda.LdapSearchScope scope);
+               public string attributes { construct; }
+               [NoAccessorMethod]
+               public string @base { owned get; construct; }
+               [NoAccessorMethod]
+               public Gda.Connection cnc { owned get; construct; }
+               [NoAccessorMethod]
+               public string filter { owned get; construct; }
+               [NoAccessorMethod]
+               public int scope { get; construct; }
+       }
        [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_pivot_get_type ()")]
        public class DataPivot : GLib.Object, Gda.DataModel {
                [CCode (has_construct_function = false)]
@@ -345,7 +365,7 @@ namespace Gda {
                public int get_sample_size ();
                public int get_sample_start ();
                public Gda.ValueAttribute get_value_attributes (int proxy_row, int col);
-               public GLib.SList<weak GLib.Value?> get_values (int proxy_row, [CCode (array_length = false)] 
int[] cols_index, int n_cols);
+               public GLib.SList<weak GLib.Value?> get_values (int proxy_row, [CCode (array_length_cname = 
"n_cols", array_length_pos = 2.1)] int[] cols_index);
                public bool has_changed ();
                public bool is_read_only ();
                public bool row_has_changed (int proxy_row);
@@ -531,9 +551,9 @@ namespace Gda {
                public void force_invalid ();
                public void force_invalid_e (owned GLib.Error? error);
                public string get_alphanum_id ();
-               public GLib.Value get_attribute (string attribute);
+               public unowned GLib.Value? get_attribute (string attribute);
                public unowned Gda.Holder get_bind ();
-               public GLib.Value get_default_value ();
+               public unowned GLib.Value? get_default_value ();
                public GLib.Type get_g_type ();
                public unowned string get_id ();
                public bool get_not_null ();
@@ -550,7 +570,7 @@ namespace Gda {
                public bool set_value (GLib.Value? value) throws GLib.Error;
                public bool set_value_str (Gda.DataHandler dh, string value) throws GLib.Error;
                public bool set_value_to_default ();
-               public GLib.Value take_static_value (GLib.Value value, bool value_changed) throws GLib.Error;
+               public GLib.Value? take_static_value (GLib.Value value, bool value_changed) throws GLib.Error;
                public bool take_value (owned GLib.Value value) throws GLib.Error;
                public bool value_is_default ();
                [NoAccessorMethod]
@@ -635,7 +655,7 @@ namespace Gda {
        public class MetaStruct : GLib.Object {
                [CCode (has_construct_function = false)]
                public MetaStruct (Gda.MetaStore store, Gda.MetaStructFeature features);
-               public Gda.MetaDbObject complement (Gda.MetaDbObjectType type, GLib.Value? catalog, 
GLib.Value? schema, GLib.Value name) throws GLib.Error;
+               public unowned Gda.MetaDbObject? complement (Gda.MetaDbObjectType type, GLib.Value? catalog, 
GLib.Value? schema, GLib.Value name) throws GLib.Error;
                public bool complement_all () throws GLib.Error;
                public bool complement_default () throws GLib.Error;
                public bool complement_depend (Gda.MetaDbObject dbo) throws GLib.Error;
@@ -643,7 +663,7 @@ namespace Gda {
                public string dump_as_graph (Gda.MetaGraphInfo info) throws GLib.Error;
                public static GLib.Quark error_quark ();
                public GLib.SList<weak Gda.MetaDbObject> get_all_db_objects ();
-               public Gda.MetaDbObject get_db_object (GLib.Value? catalog, GLib.Value? schema, GLib.Value 
name);
+               public unowned Gda.MetaDbObject? get_db_object (GLib.Value? catalog, GLib.Value? schema, 
GLib.Value name);
                public bool load_from_xml_file (string? catalog, string? schema, string xml_spec_file) throws 
GLib.Error;
                public bool sort_db_objects (Gda.MetaSortType sort_type) throws GLib.Error;
                [NoAccessorMethod]
@@ -826,7 +846,7 @@ namespace Gda {
                public virtual bool rollback_transaction (Gda.Connection cnc, string name) throws GLib.Error;
                [NoWrapper]
                public virtual bool statement_prepare (Gda.Connection cnc, Gda.Statement stmt) throws 
GLib.Error;
-               public GLib.Value string_to_value (Gda.Connection? cnc, string string, GLib.Type 
preferred_type, string? dbms_type);
+               public GLib.Value? string_to_value (Gda.Connection? cnc, string string, GLib.Type 
preferred_type, string? dbms_type);
                public virtual bool supports_feature (Gda.Connection? cnc, Gda.ConnectionFeature feature);
                public virtual bool supports_operation (Gda.Connection? cnc, Gda.ServerOperationType type, 
Gda.Set? options);
                public virtual string unescape_string (Gda.Connection? cnc, string str);
@@ -1056,6 +1076,7 @@ namespace Gda {
                public ushort minute;
                public ushort second;
                public long timezone;
+               public void change_timezone (long ntz);
                public static void* copy (void* boxed);
                public static void free (void* boxed);
                public bool valid ();
@@ -1071,6 +1092,7 @@ namespace Gda {
                public ushort second;
                public long timezone;
                public short year;
+               public void change_timezone (long ntz);
                public static void* copy (void* boxed);
                public static void free (void* boxed);
                public bool valid ();
@@ -1149,6 +1171,17 @@ namespace Gda {
        [Compact]
        public class TreeMgrLabelPriv {
        }
+       [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_ldap_get_type ()")]
+       public class TreeMgrLdap : Gda.TreeManager {
+               [CCode (has_construct_function = false, type = "GdaTreeManager*")]
+               public TreeMgrLdap (Gda.Connection cnc, string? dn);
+               [NoAccessorMethod]
+               public string dn { owned get; construct; }
+       }
+       [CCode (cheader_filename = "libgda/libgda.h")]
+       [Compact]
+       public class TreeMgrLdapPriv {
+       }
        [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_schemas_get_type ()")]
        public class TreeMgrSchemas : Gda.TreeManager {
                [CCode (has_construct_function = false, type = "GdaTreeManager*")]
@@ -1200,11 +1233,11 @@ namespace Gda {
                [NoWrapper]
                public virtual string dump_header ();
                public static GLib.Quark error_quark ();
-               public GLib.Value fetch_attribute (string attribute);
+               public unowned GLib.Value? fetch_attribute (string attribute);
                public unowned Gda.TreeNode get_child_index (int index);
                public unowned Gda.TreeNode get_child_name (string name);
                public GLib.SList<weak Gda.TreeNode> get_children ();
-               public GLib.Value get_node_attribute (string attribute);
+               public unowned GLib.Value? get_node_attribute (string attribute);
                public unowned Gda.TreeNode get_parent ();
                public void set_node_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify 
destroy);
                [NoAccessorMethod]
@@ -1383,7 +1416,7 @@ namespace Gda {
                public bool nullok;
                public weak string default_value;
                public void foreach_attribute (Gda.AttributesManagerFunc func);
-               public GLib.Value get_attribute (string attribute);
+               public unowned GLib.Value? get_attribute (string attribute);
                public void set_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify? destroy);
        }
        [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)]
@@ -1419,6 +1452,15 @@ namespace Gda {
                public weak Gda.Set auth_params;
        }
        [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)]
+       public struct ServerOperationNode {
+               public Gda.ServerOperationNodeType type;
+               public Gda.ServerOperationNodeStatus status;
+               public weak Gda.Set plist;
+               public weak Gda.DataModel model;
+               public weak Gda.Column column;
+               public weak Gda.Holder param;
+       }
+       [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)]
        public struct ServerProviderHandlerInfo {
                public weak Gda.Connection cnc;
                public GLib.Type g_type;
@@ -1429,6 +1471,11 @@ namespace Gda {
        public struct SqlBuilderId : uint {
        }
        [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)]
+       public struct SqlParserIface {
+               public weak Gda.SqlParser parser;
+               public weak Gda.SqlStatement parsed_statement;
+       }
+       [CCode (cheader_filename = "libgda/libgda.h", has_type_id = false)]
        public struct SqlRenderingContext {
                public Gda.StatementSqlFlag flags;
                public weak Gda.Set @params;
@@ -1463,20 +1510,6 @@ namespace Gda {
                public weak char[] data;
                public string to_string ();
        }
-       [CCode (cheader_filename = "libgda/libgda.h", cname = "_GdaServerOperationNode", has_type_id = false)]
-       public struct _ServerOperationNode {
-               public Gda.ServerOperationNodeType type;
-               public Gda.ServerOperationNodeStatus status;
-               public weak Gda.Set plist;
-               public weak Gda.DataModel model;
-               public weak Gda.Column column;
-               public weak Gda.Holder param;
-       }
-       [CCode (cheader_filename = "libgda/libgda.h", cname = "_GdaSqlParserIface", has_type_id = false)]
-       public struct _SqlParserIface {
-               public weak Gda.SqlParser parser;
-               public weak Gda.SqlStatement parsed_statement;
-       }
        [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_BATCH_CONFLICTING_PARAMETER_", 
has_type_id = false)]
        public enum BatchError {
                [CCode (cname = "GDA_BATCH_CONFLICTING_PARAMETER_ERROR")]
@@ -1666,6 +1699,12 @@ namespace Gda {
                VALUE_TYPE_ERROR,
                VALUE_NULL_ERROR
        }
+       [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_LDAP_SEARCH_", has_type_id = false)]
+       public enum LdapSearchScope {
+               BASE,
+               ONELEVEL,
+               SUBTREE
+       }
        [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_DB_", has_type_id = false)]
        public enum MetaDbObjectType {
                UNKNOWN,
@@ -1938,7 +1977,8 @@ namespace Gda {
                PARAMS_AS_COLON,
                PARAMS_AS_DOLLAR,
                PARAMS_AS_QMARK,
-               PARAMS_AS_UQMARK
+               PARAMS_AS_UQMARK,
+               TIMEZONE_TO_GMT
        }
        [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_THREAD_NOTIFICATION_", has_type_id = 
false)]
        public enum ThreadNotificationType {
@@ -2091,6 +2131,12 @@ namespace Gda {
        [CCode (cheader_filename = "libgda/libgda.h")]
        public static bool log_is_enabled ();
        [CCode (cheader_filename = "libgda/libgda.h")]
+       public static bool parse_formatted_date (GLib.Date gdate, string value, GLib.DateDMY first, 
GLib.DateDMY second, GLib.DateDMY third, char sep);
+       [CCode (cheader_filename = "libgda/libgda.h")]
+       public static bool parse_formatted_time (Gda.Time timegda, string value, char sep);
+       [CCode (cheader_filename = "libgda/libgda.h")]
+       public static bool parse_formatted_timestamp (Gda.Timestamp timestamp, string value, GLib.DateDMY 
first, GLib.DateDMY second, GLib.DateDMY third, char sep);
+       [CCode (cheader_filename = "libgda/libgda.h")]
        public static bool parse_iso8601_date (GLib.Date gdate, string value);
        [CCode (cheader_filename = "libgda/libgda.h")]
        public static bool parse_iso8601_time (Gda.Time timegda, string value);


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