[111816] trunk/dports/databases/libgda4

devans at macports.org devans at macports.org
Wed Oct 2 11:28:24 PDT 2013


Revision: 111816
          https://trac.macports.org/changeset/111816
Author:   devans at macports.org
Date:     2013-10-02 11:28:24 -0700 (Wed, 02 Oct 2013)
Log Message:
-----------
libgda4:
  * apply upstream patches
  * enable gobject introspection, remove +introspection variant
  * fix m4/bdb.m4 to work with MacPorts Berkeley DB file layout
  * add new +db47 +db48 +db51 variants, retain +without_bdb as legacy
  * default is +db51 which provides additional Berkeley DB SQL support

Modified Paths:
--------------
    trunk/dports/databases/libgda4/Portfile

Added Paths:
-----------
    trunk/dports/databases/libgda4/files/patch-G_TYPE_ERROR.diff
    trunk/dports/databases/libgda4/files/patch-bdb.diff
    trunk/dports/databases/libgda4/files/patch-gir-warnings.diff
    trunk/dports/databases/libgda4/files/patch-introspection-1.36.diff
    trunk/dports/databases/libgda4/files/patch-libgda_gda-data-select.c.diff

Removed Paths:
-------------
    trunk/dports/databases/libgda4/files/patch-configure.ac.diff

Modified: trunk/dports/databases/libgda4/Portfile
===================================================================
--- trunk/dports/databases/libgda4/Portfile	2013-10-02 17:52:44 UTC (rev 111815)
+++ trunk/dports/databases/libgda4/Portfile	2013-10-02 18:28:24 UTC (rev 111816)
@@ -6,7 +6,7 @@
 name            libgda4
 set gname       libgda
 version         4.2.13
-revision        5
+revision        6
 license         {GPL-2 LGPL}
 
 set branch      [join [lrange [split ${version} .] 0 1] .]
@@ -35,24 +35,15 @@
                 port:libunique \
                 port:iso-codes \
                 port:libsoup \
-                port:libtool
-  
-#
-# prefer Berkeley DB 4.7 over 4.6
-# and depend on it if 4.6 is not installed
-# if both are installed configure will select 4.7
-# otherwise look for 4.6
-#
+                port:libtool \
+                port:libxslt \
+                port:gobject-introspection
 
-if (![variant_isset without_bdb]) {
-    if !([file exists ${prefix}/include/db46/db.h]) {
-        depends_lib-append port:db47
-    } elseif ([file exists ${prefix}/include/db47/db.h])  {
-        depends_lib-append port:db47
-    } else {
-        depends_lib-append port:db46
-    }
-}
+patchfiles      patch-bdb.diff \
+                patch-libgda_gda-data-select.c.diff \
+                patch-G_TYPE_ERROR.diff \
+                patch-introspection-1.36.diff \
+                patch-gir-warnings.diff
 
 # Don't do intltool's INTLTOOL_PERL dance
 use_autoreconf  yes
@@ -63,11 +54,13 @@
 # to avoid dlopen 'Can't find file libsqlite3.so' errors
 #
 
-configure.args  --with-bdb=${prefix} \
-                --enable-system-sqlite=no \
+configure.args  --enable-system-sqlite=no \
                 --disable-silent-rules \
-                --disable-introspection \
+                --enable-introspection \
+                --enable-gda-gi \
+                --disable-gdaui-gi \
                 --without-ui \
+                --without-bdb \
                 --without-graphviz \
                 --without-mysql \
                 --without-postgres \
@@ -112,20 +105,50 @@
     configure.args-append   --with-postgres=${prefix}/lib/postgresql90
 }
 
-variant without_bdb \
-    description {remove support for Berkeley DB} {
-    configure.args-delete   --with-bdb=${prefix}
-    configure.args-append   --without-bdb
+# remove this legacy variant after 201409
+
+variant without_bdb conflicts db47 db48 db51 \
+    description {Legacy variant to disable all Berkeley DB support} {
 }
 
-variant introspection \
-    description {add introspection support} {
-        configure.args-delete   --disable-introspection
-        configure.args-append   --enable-introspection \
-                                --enable-gda-gi \
-                                --disable-gdaui-gi
+variant db47 conflicts without_bdb db48 db51  \
+    description {support for Berkeley DB 4.7.x} {
+    set db_version 47
+    depends_lib-append  port:db${db_version}
+    configure.cppflags-append "-I${prefix}/include/db${db_version}"
+    configure.args-delete   --without-bdb
+    configure.args-append   --with-bdb=${prefix} \
+                            --with-bdb-libdir-name=lib/db${db_version}
 }
 
+variant db48 conflicts without_bdb db47 db51 \
+    description {support for Berkeley DB 4.8.x} {
+    set db_version 48
+    depends_lib-append  port:db${db_version}
+    configure.cppflags-append "-I${prefix}/include/db${db_version}"
+    configure.args-delete   --without-bdb
+    configure.args-append   --with-bdb=${prefix} \
+                            --with-bdb-libdir-name=lib/db${db_version}
+}
+
+variant db51 conflicts without_bdb db47 db48 \
+    description {support for Berkeley DB 5.1.x} {
+    set db_version 51
+    depends_lib-append  port:db${db_version}
+    configure.cppflags-append "-I${prefix}/include/db${db_version}"
+    configure.args-delete   --without-bdb
+    configure.args-append   --with-bdb=${prefix} \
+                            --with-bdb-libdir-name=lib/db${db_version}
+}
+
+if {[variant_isset without_bdb]} {
+    default_variants -db47 -db48 -db51
+} else {
+    if {![variant_isset db47] && ![variant_isset db48]} {
+        default_variants +db51
+    }
+}
+
 #
 # disable +gtkui by default to avoid possible conflicts
 # with other libgda versions
@@ -134,6 +157,7 @@
 variant gtkui \
     description {Enable GTK+ extension and tools} {
         configure.args-replace  --without-ui --with-ui
+        configure.args-replace  --disable-gdaui-gi --enable-gdaui-gi
         depends_lib-append      port:gtksourceview2 \
                                 port:goocanvas
 }

Added: trunk/dports/databases/libgda4/files/patch-G_TYPE_ERROR.diff
===================================================================
--- trunk/dports/databases/libgda4/files/patch-G_TYPE_ERROR.diff	                        (rev 0)
+++ trunk/dports/databases/libgda4/files/patch-G_TYPE_ERROR.diff	2013-10-02 18:28:24 UTC (rev 111816)
@@ -0,0 +1,49 @@
+From 53ceb5b0bcdaabbfc7b3fd80b6f167688ec4968e Mon Sep 17 00:00:00 2001
+From: Vivien Malerba <malerba at gnome-db.org>
+Date: Wed, 09 May 2012 13:40:43 +0000
+Subject: Don't use G_TYPE_ERROR for GLib versions which don't support it
+
+---
+diff --git a/libgda/sqlite/virtual/gda-vprovider-data-model.c b/libgda/sqlite/virtual/gda-vprovider-data-model.c
+index c0f96e4..c781198 100644
+--- libgda/sqlite/virtual/gda-vprovider-data-model.c.orig
++++ libgda/sqlite/virtual/gda-vprovider-data-model.c
+@@ -31,6 +31,9 @@
+ #include <libgda/gda-blob-op.h>
+ #include "../gda-sqlite.h"
+ #include <sql-parser/gda-statement-struct-util.h>
++#if !GLIB_CHECK_VERSION(2,26,0)
++#include <libgda/gda-types.h>
++#endif
+ 
+ #define GDA_DEBUG_VIRTUAL
+ #undef GDA_DEBUG_VIRTUAL
+@@ -821,7 +824,11 @@ virtualNext (sqlite3_vtab_cursor *cur)
+ 				GError *lerror = NULL;
+ 				if (! gda_holder_is_valid_e (h, &lerror)) {
+ 					GValue value = {0};
++#if GLIB_CHECK_VERSION(2,26,0)
+ 					g_value_init (&value, G_TYPE_ERROR);
++#else
++					g_value_init (&value, GDA_TYPE_ERROR);
++#endif
+ 					g_value_take_boxed (&value, lerror);
+ 					g_value_array_append (data->values, &value);
+ 					g_value_unset (&value);
+@@ -923,7 +930,13 @@ virtualColumn (sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int i)
+ 		g_hash_table_insert (error_blobs_hash, lerror, GINT_TO_POINTER (1));
+ 		SQLITE3_CALL (sqlite3_result_blob) (ctx, lerror, sizeof (GError), NULL);
+ 	}
+-	else if (G_VALUE_TYPE (value) == G_TYPE_ERROR) {
++	else if (
++#if GLIB_CHECK_VERSION(2,26,0)
++		 G_VALUE_TYPE (value) == G_TYPE_ERROR
++#else
++		 G_VALUE_TYPE (value) == GDA_TYPE_ERROR
++#endif
++		 ) {
+ 		GError *lerror;
+ 		lerror = g_value_get_boxed (value);
+ 		//SQLITE3_CALL (sqlite3_result_error) (ctx, lerror && lerror->message ? lerror->message : _("No detail"), -1);
+--
+cgit v0.9.2

Added: trunk/dports/databases/libgda4/files/patch-bdb.diff
===================================================================
--- trunk/dports/databases/libgda4/files/patch-bdb.diff	                        (rev 0)
+++ trunk/dports/databases/libgda4/files/patch-bdb.diff	2013-10-02 18:28:24 UTC (rev 111816)
@@ -0,0 +1,88 @@
+--- configure.ac.orig	2012-04-27 08:34:22.000000000 -0700
++++ configure.ac	2013-10-02 09:16:37.000000000 -0700
+@@ -352,7 +352,7 @@
+ 	AC_DEFINE(ENABLE_BINRELOC)
+ 	br_cv_binreloc=yes
+     fi
+-    PKG_CHECK_MODULES(MAC_INTEGRATION, ige-mac-integration, have_ige=yes, have_ige=no)
++    PKG_CHECK_MODULES(MAC_INTEGRATION, ige-mac-integration, have_ige=no, have_ige=no)
+     if test x"$have_ige" = "xyes"
+     then
+ 	AC_DEFINE(HAVE_MAC_INTEGRATION)
+@@ -362,6 +362,7 @@
+     LIBTOOL_EXPORT_OPTIONS=$EXPORT_SYM_REGEX
+     LIBTOOL_PROV_EXPORT_OPTIONS=$EXPORT_PROV_SYM_REGEX
+     LIBTOOL_UI_EXPORT_OPTIONS=$EXPORT_UI_SYM_REGEX
++    linklibext=.dylib
+     AC_DEFINE(HAVE_CARBON)
+     LIBGDA_LIBS="$LIBGDA_LIBS -framework Carbon"
+   ;;
+--- m4/bdb.m4.orig	2013-10-02 09:05:59.000000000 -0700
++++ m4/bdb.m4	2013-10-02 09:07:29.000000000 -0700
+@@ -119,6 +119,9 @@
+ 	        if test $platform_win32 = yes
+ 		then
+ 		    sversion=`echo $version | sed -e 's,\.,,g'`
++		elif test $platform_carbon = yes
++		then
++		    sversion=`echo $version | sed -e 's,\.,,g'`
+ 		else
+ 		    sversion=`echo $version | sed -e 's,\..*,,g'`
+ 		fi
+@@ -135,6 +138,12 @@
+         	        db_lib="-ldb$sversion"
+ 		        db_libfile="$d/$bdb_loclibdir/libdb$sversion$bdb_libext"
+         	        try_headers="db.h db$version/db.h db$sversion/db.h"
++		    elif test $platform_carbon = yes
++		    then
++		        db_libfilename="libdb-$version$bdb_libext"
++        	        db_lib="-ldb-$version"
++		        db_libfile="$d/$bdb_loclibdir/libdb-$version$bdb_libext"
++        	        try_headers="db.h db$version/db.h db$sversion/db.h"
+ 		    else
+ 		        db_libfilename="libdb-$version$bdb_libext"
+         	        db_lib="-ldb-$version"
+@@ -145,6 +154,7 @@
+ 
+ 		for db_hdr in $try_headers
+ 		do
++		    echo "Checking for files $d/include/$db_hdr and $db_libfile"
+ 		    if test -f $d/include/$db_hdr -a -f $db_libfile
+ 		    then
+   	                save_CFLAGS="$CFLAGS"
+@@ -221,6 +231,9 @@
+         if test "x$platform_win32" = xyes
+ 	then
+ 	    bdbsql_loclibdir=bin
++        elif test "x$platform_carbon" = xyes
++	then
++	    bdbsql_loclibdir=$bdb_loclibdir
+ 	else
+ 	    bdbsql_loclibdir=lib
+ 	fi
+@@ -231,14 +244,22 @@
+     if test "x$BDB_DIR" != x
+     then
+         AC_MSG_CHECKING([for Berkeley DB SQL files along with found BDB installation])
+-	if test -f $BDB_DIR/include/dbsql.h
++	echo "Checking $BDB_DIR/include/db$sversion/dbsql.h, $BDB_DIR/include/dbsql.h and $BDB_DIR/include/libdb/dbsql.h"
++	if test -f $BDB_DIR/include/db$sversion/dbsql.h -o $BDB_DIR/include/dbsql.h -o -f $BDB_DIR/include/libdb/dbsql.h
+ 	then
+-	    BDBSQL_CFLAGS="$BDB_CFLAGS"
++	    if test -f $BDB_DIR/include/db$sversion/dbsql.h
++	    then
++	        BDBSQL_CFLAGS="$BDB_CFLAGS/db$sversion"
++	    elif test -f $BDB_DIR/include/libdb/dbsql.h
++	    then
++	        BDBSQL_CFLAGS="$BDB_CFLAGS/libdb"
++	    else
++	        BDBSQL_CFLAGS="$BDB_CFLAGS"
++	    fi
+ 	    BDBSQL_LIBS="-L$BDB_DIR/$bdb_loclibdir -ldb_sql"
+ 	    BDBSQL_PATH="$BDB_DIR/$bdb_loclibdir"
+ 	    AC_MSG_RESULT([found])
+ 	    AC_CHECK_LIB(db_sql, sqlite3_table_column_metadata,[bdbsql_api=1], [bdbsql_api=0], $BDBSQL_CFLAGS $BDBSQL_LIBS -pthread -ldl)
+-
+ 	    if test $bdbsql_api = 0
+ 	    then
+ 		BDBSQL_CFLAGS=""

Deleted: trunk/dports/databases/libgda4/files/patch-configure.ac.diff
===================================================================
--- trunk/dports/databases/libgda4/files/patch-configure.ac.diff	2013-10-02 17:52:44 UTC (rev 111815)
+++ trunk/dports/databases/libgda4/files/patch-configure.ac.diff	2013-10-02 18:28:24 UTC (rev 111816)
@@ -1,36 +0,0 @@
---- configure.ac.orig	2010-09-15 01:36:07.000000000 -0700
-+++ configure.ac	2010-09-23 15:07:44.000000000 -0700
-@@ -330,6 +330,7 @@
-     AC_MSG_RESULT([Mac OS X - carbon])
-     platform_carbon=yes
-     SOPREFIX='lib'
-+    linklibext=".dylib"
-     if test "$enable_binreloc" != "no"
-     then
- 	AC_DEFINE(ENABLE_BINRELOC)
-@@ -542,6 +543,25 @@
- 				BDB_LIBS="-L${bdbdir}/lib -ldb"
- 				break
- 			fi
-+                        if test $platform_carbon = yes  -a -f $d/include/db47/db.h -a -f $d/lib/db47/libdb$linklibext
-+                        then    
-+                                AC_MSG_RESULT(found Berkeley DB 4.7 in $d)
-+                                AC_DEFINE(HAVE_BDB, 1, [Have Berkeley DB])
-+                                bdbdir=$d
-+                                BDB_CFLAGS="-I${bdbdir}/include/db47"
-+                                BDB_LIB="$d/lib/db47/libdb$linklibext"
-+                                BDB_LIBS="-L${bdbdir}/lib/db47 -ldb"
-+                                break
-+			elif test $platform_carbon = yes  -a -f $d/include/db46/db.h -a -f $d/lib/db46/libdb$linklibext
-+			then
-+				AC_MSG_RESULT(found Berkeley DB 4.6 in $d)
-+				AC_DEFINE(HAVE_BDB, 1, [Have Berkeley DB])
-+				bdbdir=$d
-+				BDB_CFLAGS="-I${bdbdir}/include/db46"
-+				BDB_LIB="$d/lib/db46/libdb$linklibext"
-+				BDB_LIBS="-L${bdbdir}/lib/db46 -ldb"
-+				break
-+			fi
- 			dnl FIXME: check for db1 (non-sleepycat implementation)
- 		done
- 		if test x$bdbdir = x

Added: trunk/dports/databases/libgda4/files/patch-gir-warnings.diff
===================================================================
--- trunk/dports/databases/libgda4/files/patch-gir-warnings.diff	                        (rev 0)
+++ trunk/dports/databases/libgda4/files/patch-gir-warnings.diff	2013-10-02 18:28:24 UTC (rev 111816)
@@ -0,0 +1,824 @@
+From 7bb17824d14376908a85564aabc12d4ad8e3214d Mon Sep 17 00:00:00 2001
+From: Andrea Zagli <azagli at libero.it>
+Date: Thu, 01 Aug 2013 16:19:04 +0000
+Subject: Avoid warnings at GIR generation related to missing ':'
+
+---
+diff --git a/libgda/gda-batch.c b/libgda/gda-batch.c
+index 3c26c79..2742082 100644
+--- libgda/gda-batch.c.orig
++++ libgda/gda-batch.c
+@@ -111,7 +111,7 @@ gda_batch_class_init (GdaBatchClass * klass)
+ 	parent_class = g_type_class_peek_parent (klass);
+ 
+ 	/**
+-	 * GdaBatch::changed
++	 * GdaBatch::changed:
+ 	 * @batch: the #GdaBatch object
+ 	 * @changed_stmt: the statement which has been changed
+ 	 *
+diff --git a/libgda/gda-column.c b/libgda/gda-column.c
+index 51833f2..81825ab 100644
+--- libgda/gda-column.c.orig
++++ libgda/gda-column.c
+@@ -89,7 +89,7 @@ gda_column_class_init (GdaColumnClass *klass)
+ 	
+ 	/* signals */
+ 	/**
+-	 * GdaColumn::name-changed
++	 * GdaColumn::name-changed:
+ 	 * @column: the #GdaColumn object
+ 	 * @old_name: the column's previous name
+ 	 *
+@@ -105,7 +105,7 @@ gda_column_class_init (GdaColumnClass *klass)
+ 			      G_TYPE_NONE,
+ 			      1, G_TYPE_STRING);
+ 	/**
+-	 * GdaColumn::g-type-changed
++	 * GdaColumn::g-type-changed:
+ 	 * @column: the #GdaColumn object
+ 	 * @old_type: the column's previous type
+ 	 * @new_type: the column's new type
+diff --git a/libgda/gda-column.h b/libgda/gda-column.h
+index 376de71..f05750b 100644
+--- libgda/gda-column.h.orig
++++ libgda/gda-column.h
+@@ -87,7 +87,7 @@ void            gda_column_set_attribute      (GdaColumn *column, const gchar *a
+ 					       GDestroyNotify destroy);
+ 
+ /**
+- * gda_column_set_attribute_static
++ * gda_column_set_attribute_static:
+  * @holder: a #GdaHolder
+  * @attribute: attribute's name
+  * @value: (allow-none): the value to set the attribute to, or %NULL
+diff --git a/libgda/gda-connection.c b/libgda/gda-connection.c
+index 6d173c4..597da99 100644
+--- libgda/gda-connection.c.orig
++++ libgda/gda-connection.c
+@@ -240,7 +240,7 @@ gda_connection_class_init (GdaConnectionClass *klass)
+ 	parent_class = g_type_class_peek_parent (klass);
+ 
+ 	/**
+-	 * GdaConnection::error
++	 * GdaConnection::error:
+ 	 * @cnc: the #GdaConnection
+ 	 * @event: a #GdaConnectionEvent object
+ 	 *
+@@ -256,7 +256,7 @@ gda_connection_class_init (GdaConnectionClass *klass)
+ 			      g_cclosure_marshal_VOID__OBJECT,
+ 			      G_TYPE_NONE, 1, GDA_TYPE_CONNECTION_EVENT);
+ 	/**
+-	 * GdaConnection::conn-opened
++	 * GdaConnection::conn-opened:
+ 	 * @cnc: the #GdaConnection
+ 	 *
+ 	 * Gets emitted when the connection has been opened to the database
+@@ -270,7 +270,7 @@ gda_connection_class_init (GdaConnectionClass *klass)
+                               _gda_marshal_VOID__VOID,
+                               G_TYPE_NONE, 0);
+ 	/**
+-	 * GdaConnection::conn-to-close
++	 * GdaConnection::conn-to-close:
+ 	 * @cnc: the #GdaConnection
+ 	 *
+ 	 * Gets emitted when the connection to the database is about to be closed
+@@ -284,7 +284,7 @@ gda_connection_class_init (GdaConnectionClass *klass)
+                               _gda_marshal_VOID__VOID,
+                               G_TYPE_NONE, 0);
+ 	/**
+-	 * GdaConnection::conn-closed
++	 * GdaConnection::conn-closed:
+ 	 * @cnc: the #GdaConnection
+ 	 *
+ 	 * Gets emitted when the connection to the database has been closed
+@@ -298,7 +298,7 @@ gda_connection_class_init (GdaConnectionClass *klass)
+                               _gda_marshal_VOID__VOID,
+                               G_TYPE_NONE, 0);
+ 	/**
+-	 * GdaConnection::dsn-changed
++	 * GdaConnection::dsn-changed:
+ 	 * @cnc: the #GdaConnection
+ 	 *
+ 	 * Gets emitted when the DSN used by @cnc has been changed
+@@ -312,7 +312,7 @@ gda_connection_class_init (GdaConnectionClass *klass)
+ 			      g_cclosure_marshal_VOID__VOID,
+ 			      G_TYPE_NONE, 0);
+ 	/**
+-	 * GdaConnection::transaction-status-changed
++	 * GdaConnection::transaction-status-changed:
+ 	 * @cnc: the #GdaConnection
+ 	 *
+ 	 * Gets emitted when the transaction status of @cnc has changed (a transaction has been 
+@@ -1006,7 +1006,7 @@ cnc_task_free (CncTask *task)
+ }
+ 
+ /**
+- * _gda_connection_get_internal_thread_provider
++ * _gda_connection_get_internal_thread_provider:
+  */ 
+ GdaServerProvider *
+ _gda_connection_get_internal_thread_provider (void)
+@@ -5650,7 +5650,7 @@ gda_connection_get_events (GdaConnection *cnc)
+ }
+ 
+ /**
+- * gda_connection_value_to_sql_string
++ * gda_connection_value_to_sql_string:
+  * @cnc: a #GdaConnection object.
+  * @from: #GValue to convert from
+  *
+diff --git a/libgda/gda-connection.h b/libgda/gda-connection.h
+index 8995982..cbe13fe 100644
+--- libgda/gda-connection.h.orig
++++ libgda/gda-connection.h
+@@ -159,7 +159,7 @@ typedef enum {
+ 
+ 
+ /**
+- * GdaConnectionFeature
++ * GdaConnectionFeature:
+  * @GDA_CONNECTION_FEATURE_AGGREGATES: test for aggregates support
+  * @GDA_CONNECTION_FEATURE_BLOBS: test for BLOBS (binary large objects) support
+  * @GDA_CONNECTION_FEATURE_INDEXES: test for indexes support
+@@ -207,7 +207,7 @@ typedef enum {
+ 
+ 
+ /**
+- * GdaConnectionSchema
++ * GdaConnectionSchema:
+  *
+  * Deprecated: 4.2: This was a leftover from the pre 4.0 area
+  */
+diff --git a/libgda/gda-data-model-iter.c b/libgda/gda-data-model-iter.c
+index 8e28d39..8f312a0 100644
+--- libgda/gda-data-model-iter.c.orig
++++ libgda/gda-data-model-iter.c
+@@ -140,7 +140,7 @@ gda_data_model_iter_class_init (GdaDataModelIterClass *class)
+ 	parent_class = g_type_class_peek_parent (class);
+ 
+ 	/**
+-	 * GdaDataModelIter::row-changed
++	 * GdaDataModelIter::row-changed:
+ 	 * @iter: the #GdaDataModelIter
+ 	 * @row: the new iter's row
+ 	 *
+@@ -154,7 +154,7 @@ gda_data_model_iter_class_init (GdaDataModelIterClass *class)
+                               NULL, NULL,
+                               g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
+ 	/**
+-	 * GdaDataModelIter::end-of-data
++	 * GdaDataModelIter::end-of-data:
+ 	 * @iter: the #GdaDataModelIter
+ 	 *
+ 	 * Gets emitted when @iter has reached the end of available data (which means the previous
+diff --git a/libgda/gda-data-model.c b/libgda/gda-data-model.c
+index c7e8413..ff247ad 100644
+--- libgda/gda-data-model.c.orig
++++ libgda/gda-data-model.c
+@@ -125,7 +125,7 @@ gda_data_model_class_init (G_GNUC_UNUSED gpointer g_class)
+ 	g_static_rec_mutex_lock (&init_mutex);
+ 	if (! initialized) {
+ 		/**
+-		 * GdaDataModel::changed
++		 * GdaDataModel::changed:
+ 		 * @model: the #GdaDataModel
+ 		 *
+ 		 * Gets emitted when any value in @model has been changed
+@@ -139,7 +139,7 @@ gda_data_model_class_init (G_GNUC_UNUSED gpointer g_class)
+ 				      g_cclosure_marshal_VOID__VOID,
+ 				      G_TYPE_NONE, 0);
+ 		/**
+-		 * GdaDataModel::row-inserted
++		 * GdaDataModel::row-inserted:
+ 		 * @model: the #GdaDataModel
+ 		 * @row: the row number
+ 		 *
+@@ -154,7 +154,7 @@ gda_data_model_class_init (G_GNUC_UNUSED gpointer g_class)
+ 				      g_cclosure_marshal_VOID__INT,
+ 				      G_TYPE_NONE, 1, G_TYPE_INT);
+ 		/**
+-		 * GdaDataModel::row-updated
++		 * GdaDataModel::row-updated:
+ 		 * @model: the #GdaDataModel
+ 		 * @row: the row number
+ 		 *
+@@ -169,7 +169,7 @@ gda_data_model_class_init (G_GNUC_UNUSED gpointer g_class)
+ 				      g_cclosure_marshal_VOID__INT,
+ 				      G_TYPE_NONE, 1, G_TYPE_INT);
+ 		/**
+-		 * GdaDataModel::row-removed
++		 * GdaDataModel::row-removed:
+ 		 * @model: the #GdaDataModel
+ 		 * @row: the row number
+ 		 *
+@@ -184,7 +184,7 @@ gda_data_model_class_init (G_GNUC_UNUSED gpointer g_class)
+ 				      g_cclosure_marshal_VOID__INT,
+ 				      G_TYPE_NONE, 1, G_TYPE_INT);
+ 		/**
+-		 * GdaDataModel::reset
++		 * GdaDataModel::reset:
+ 		 * @model: the #GdaDataModel
+ 		 *
+ 		 * Gets emitted when @model's contents has been completely reset (the number and
+@@ -200,7 +200,7 @@ gda_data_model_class_init (G_GNUC_UNUSED gpointer g_class)
+ 				      G_TYPE_NONE, 0);
+ 
+ 		/**
+-		 * GdaDataModel::access-changed
++		 * GdaDataModel::access-changed:
+ 		 * @model: the #GdaDataModel
+ 		 *
+ 		 * Gets emitted when @model's access flags have changed. Use
+diff --git a/libgda/gda-data-proxy.c b/libgda/gda-data-proxy.c
+index f136ba1..1ff0968 100644
+--- libgda/gda-data-proxy.c.orig
++++ libgda/gda-data-proxy.c
+@@ -560,7 +560,7 @@ gda_data_proxy_class_init (GdaDataProxyClass *klass)
+ 
+ 	/* signals */
+ 	/**
+-	 * GdaDataProxy::row-delete-changed
++	 * GdaDataProxy::row-delete-changed:
+ 	 * @proxy: the #GdaDataProxy
+ 	 * @row: the concerned @proxy's row
+ 	 * @to_be_deleted: tells if the @row is marked to be deleted
+@@ -575,7 +575,7 @@ gda_data_proxy_class_init (GdaDataProxyClass *klass)
+                               NULL, NULL,
+ 			      _gda_marshal_VOID__INT_BOOLEAN, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_BOOLEAN);
+ 	/**
+-	 * GdaDataProxy::sample-size-changed
++	 * GdaDataProxy::sample-size-changed:
+ 	 * @proxy: the #GdaDataProxy
+ 	 * @sample_size: the new sample size
+ 	 *
+@@ -589,7 +589,7 @@ gda_data_proxy_class_init (GdaDataProxyClass *klass)
+                               NULL, NULL,
+ 			      g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
+ 	/**
+-	 * GdaDataProxy::sample-changed
++	 * GdaDataProxy::sample-changed:
+ 	 * @proxy: the #GdaDataProxy
+ 	 * @sample_start: the first row of the sample
+ 	 * @sample_end: the last row of the sample
+@@ -605,7 +605,7 @@ gda_data_proxy_class_init (GdaDataProxyClass *klass)
+                               NULL, NULL,
+ 			      _gda_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
+ 	/**
+-	 * GdaDataProxy::validate-row-changes
++	 * GdaDataProxy::validate-row-changes:
+ 	 * @proxy: the #GdaDataProxy
+ 	 * @row: the proxy's row
+ 	 * @proxied_row: the proxied data model's row
+@@ -623,7 +623,7 @@ gda_data_proxy_class_init (GdaDataProxyClass *klass)
+                               validate_row_changes_accumulator, NULL,
+                               _gda_marshal_ERROR__INT_INT, GDA_TYPE_ERROR, 2, G_TYPE_INT, G_TYPE_INT);
+ 	/**
+-	 * GdaDataProxy::row-changes-applied
++	 * GdaDataProxy::row-changes-applied:
+ 	 * @proxy: the #GdaDataProxy
+ 	 * @row: the proxy's row
+ 	 * @proxied_row: the proxied data model's row
+@@ -638,7 +638,7 @@ gda_data_proxy_class_init (GdaDataProxyClass *klass)
+                               NULL, NULL,
+ 			      _gda_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
+ 	/**
+-	 * GdaDataProxy::filter-changed
++	 * GdaDataProxy::filter-changed:
+ 	 * @proxy: the #GdaDataProxy
+ 	 *
+ 	 * Gets emitted when @proxy's filter has been changed
+diff --git a/libgda/gda-data-select.c b/libgda/gda-data-select.c
+index 40de52c..ed11eb8 100644
+--- libgda/gda-data-select.c.orig
++++ libgda/gda-data-select.c
+@@ -890,7 +890,7 @@ gda_data_select_get_connection (GdaDataSelect *model)
+ }
+ 
+ /**
+- * gda_data_select_set_columns
++ * gda_data_select_set_columns:
+  * @model: a #GdaDataSelect data model
+  * @columns: (transfer full): a lis of #GdaColumn objects
+  *
+diff --git a/libgda/gda-holder.c b/libgda/gda-holder.c
+index a10ffd8..910bf16 100644
+--- libgda/gda-holder.c.orig
++++ libgda/gda-holder.c
+@@ -208,7 +208,7 @@ gda_holder_class_init (GdaHolderClass *class)
+ 	parent_class = g_type_class_peek_parent (class);
+ 
+ 	/**
+-	 * GdaHolder::source-changed
++	 * GdaHolder::source-changed:
+ 	 * @holder: the #GdaHolder
+ 	 * 
+ 	 * Gets emitted when the data model in which @holder's values should be has changed
+@@ -221,7 +221,7 @@ gda_holder_class_init (GdaHolderClass *class)
+                               NULL, NULL,
+                               _gda_marshal_VOID__VOID, G_TYPE_NONE, 0);
+ 	/**
+-	 * GdaHolder::changed
++	 * GdaHolder::changed:
+ 	 * @holder: the #GdaHolder
+ 	 * 
+ 	 * Gets emitted when @holder's value has changed
+@@ -234,7 +234,7 @@ gda_holder_class_init (GdaHolderClass *class)
+                               NULL, NULL,
+                               _gda_marshal_VOID__VOID, G_TYPE_NONE, 0);
+ 	/**
+-	 * GdaHolder::attribute-changed
++	 * GdaHolder::attribute-changed:
+ 	 * @holder: the #GdaHolder
+ 	 * @att_name: attribute's name
+ 	 * @att_value: attribute's value
+@@ -251,7 +251,7 @@ gda_holder_class_init (GdaHolderClass *class)
+ 			      G_TYPE_STRING, G_TYPE_VALUE);
+ 
+ 	/**
+-	 * GdaHolder::validate-change
++	 * GdaHolder::validate-change:
+ 	 * @holder: the object which received the signal
+ 	 * @new_value: the proposed new value for @holder
+ 	 * 
+diff --git a/libgda/gda-holder.h b/libgda/gda-holder.h
+index e1362a4..e609439 100644
+--- libgda/gda-holder.h.orig
++++ libgda/gda-holder.h
+@@ -76,7 +76,7 @@ GType               gda_holder_get_g_type              (GdaHolder *holder);
+ const gchar        *gda_holder_get_id                  (GdaHolder *holder);
+ 
+ /**
+- * gda_holder_new_string
++ * gda_holder_new_string:
+  * @id: a string
+  * @str: a string
+  * 
+@@ -88,7 +88,7 @@ const gchar        *gda_holder_get_id                  (GdaHolder *holder);
+ #define gda_holder_new_string(id,str) gda_holder_new_inline (G_TYPE_STRING, (id), (str))
+ 
+ /**
+- * gda_holder_new_boolean
++ * gda_holder_new_boolean:
+  * @id: a string
+  * @abool: a boolean value
+  * 
+@@ -100,7 +100,7 @@ const gchar        *gda_holder_get_id                  (GdaHolder *holder);
+ #define gda_holder_new_boolean(id,abool) gda_holder_new_inline (G_TYPE_BOOLEAN, (id), (abool))
+ 
+ /**
+- * gda_holder_new_int
++ * gda_holder_new_int:
+  * @id: a string
+  * @anint: an int value
+  * 
+@@ -144,7 +144,7 @@ void                gda_holder_set_attribute            (GdaHolder *holder, cons
+ 							 GDestroyNotify destroy);
+ 
+ /**
+- * gda_holder_set_attribute_static
++ * gda_holder_set_attribute_static:
+  * @holder: a #GdaHolder
+  * @attribute: attribute's name
+  * @value: (allow-none): a #GValue, or %NULL
+diff --git a/libgda/gda-meta-store.c b/libgda/gda-meta-store.c
+index d0ae89d..ef73125 100644
+--- libgda/gda-meta-store.c.orig
++++ libgda/gda-meta-store.c
+@@ -377,7 +377,7 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
+ 	parent_class = g_type_class_peek_parent (klass);
+ 	
+ 	/**
+-	 * GdaMetaStore::suggest-update
++	 * GdaMetaStore::suggest-update:
+ 	 * @store: the #GdaMetaStore instance that emitted the signal
+ 	 * @suggest: the suggested update, as a #GdaMetaContext structure
+ 	 *
+@@ -397,7 +397,7 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
+ 		_gda_marshal_ERROR__METACONTEXT, GDA_TYPE_ERROR,
+ 		1, G_TYPE_POINTER);
+ 	/**
+-	 * GdaMetaStore::meta-changed
++	 * GdaMetaStore::meta-changed:
+ 	 * @store: the #GdaMetaStore instance that emitted the signal
+ 	 * @changes: (element-type Gda.MetaStoreChange): a list of changes made, as a #GSList of pointers to #GdaMetaStoreChange (which must not be modified)
+ 	 *
+@@ -412,7 +412,7 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
+ 		_gda_marshal_VOID__SLIST, G_TYPE_NONE,
+ 		1, GDA_TYPE_SLIST);
+ 	/**
+-	 * GdaMetaStore::meta-reset
++	 * GdaMetaStore::meta-reset:
+ 	 * @store: the #GdaMetaStore instance that emitted the signal
+ 	 *
+ 	 * This signal is emitted when the @store's contents have been reset completely and when
+diff --git a/libgda/gda-meta-struct.h b/libgda/gda-meta-struct.h
+index 23b97ef..579f91c 100644
+--- libgda/gda-meta-struct.h.orig
++++ libgda/gda-meta-struct.h
+@@ -282,7 +282,7 @@ const GValue *gda_meta_table_column_get_attribute (GdaMetaTableColumn *tcol, con
+ void          gda_meta_table_column_set_attribute (GdaMetaTableColumn *tcol, const gchar *attribute, const GValue *value,
+ 						   GDestroyNotify destroy);
+ /**
+- * gda_meta_table_column_set_attribute_static
++ * gda_meta_table_column_set_attribute_static:
+  * @column: a #GdaMetaTableColumn
+  * @attribute: attribute's name
+  * @value: (allow-none): a #GValue, or %NULL
+@@ -355,7 +355,7 @@ typedef struct {
+ 	gchar            *fk_name;
+ } GdaMetaTableForeignKey;
+ /**
+- * GDA_META_TABLE_FOREIGN_KEY
++ * GDA_META_TABLE_FOREIGN_KEY:
+  * @fk: a pointer
+  *
+  * Casts @fk to a #GdaMetaTableForeignKey (no check is actuelly being done on @fk's validity)
+@@ -385,7 +385,7 @@ typedef struct {
+ #define GDA_META_TABLE_FOREIGN_KEY_ON_DELETE_POLICY(fk) ((GdaMetaForeignKeyPolicy) GPOINTER_TO_INT ((GdaMetaTableForeignKey*)(fk)->on_delete_policy))
+ 
+ /**
+- * GDA_META_TABLE_FOREIGN_KEY_IS_DECLARED
++ * GDA_META_TABLE_FOREIGN_KEY_IS_DECLARED:
+  * @fk: a pointer to a #GdaMetaTableForeignKey
+  *
+  * Tells if @fk is an actual foreign key defined in the database's schema, or if it is an indication which
+diff --git a/libgda/gda-quark-list.c b/libgda/gda-quark-list.c
+index 5b56e08..451e87a 100644
+--- libgda/gda-quark-list.c.orig
++++ libgda/gda-quark-list.c
+@@ -137,7 +137,7 @@ gda_quark_list_free (GdaQuarkList *qlist)
+ 
+ 
+ /**
+- * gda_quark_list_copy
++ * gda_quark_list_copy:
+  * @qlist: quark_list to get a copy from.
+  *
+  * Creates a new #GdaQuarkList from an existing one.
+@@ -159,7 +159,7 @@ gda_quark_list_copy (GdaQuarkList *qlist)
+ }
+ 
+ /**
+- * gda_quark_list_add_from_string
++ * gda_quark_list_add_from_string:
+  * @qlist: a #GdaQuarkList.
+  * @string: a string.
+  * @cleanup: whether to cleanup the previous content or not.
+@@ -228,7 +228,7 @@ gda_quark_list_add_from_string (GdaQuarkList *qlist, const gchar *string, gboole
+ }
+ 
+ /**
+- * gda_quark_list_find
++ * gda_quark_list_find:
+  * @qlist: a #GdaQuarkList.
+  * @name: the name of the value to search for.
+  *
+@@ -250,7 +250,7 @@ gda_quark_list_find (GdaQuarkList *qlist, const gchar *name)
+ }
+ 
+ /**
+- * gda_quark_list_remove
++ * gda_quark_list_remove:
+  * @qlist: a #GdaQuarkList structure.
+  * @name: an entry name.
+  *
+diff --git a/libgda/gda-server-operation.c b/libgda/gda-server-operation.c
+index a9af605..830443d 100644
+--- libgda/gda-server-operation.c.orig
++++ libgda/gda-server-operation.c
+@@ -146,7 +146,7 @@ gda_server_operation_class_init (GdaServerOperationClass *klass)
+ 
+ 	/* signals */
+ 	/**
+-	 * GdaServerOperation::sequence-item-added
++	 * GdaServerOperation::sequence-item-added:
+ 	 * @op: the #GdaServerOperation
+ 	 * @seq_path: the path to the new sequence item
+ 	 * @item_index: the index (starting from 0) of the new sequence item in the sequence
+@@ -162,7 +162,7 @@ gda_server_operation_class_init (GdaServerOperationClass *klass)
+ 			      _gda_marshal_VOID__STRING_INT, G_TYPE_NONE,
+ 			      2, G_TYPE_STRING, G_TYPE_INT);
+ 	/**
+-	 * GdaServerOperation::sequence-item-remove
++	 * GdaServerOperation::sequence-item-remove:
+ 	 * @op: the #GdaServerOperation
+ 	 * @seq_path: the path to the sequence item to be removed
+ 	 * @item_index: the index (starting from 0) of the sequence item in the sequence
+diff --git a/libgda/gda-set.c b/libgda/gda-set.c
+index d7b3b28..1802757 100644
+--- libgda/gda-set.c.orig
++++ libgda/gda-set.c
+@@ -275,7 +275,7 @@ gda_set_class_init (GdaSetClass *class)
+ 			      GDA_TYPE_HOLDER);
+ 
+ 	/**
+-	 * GdaSet::validate-holder-change
++	 * GdaSet::validate-holder-change:
+ 	 * @set: the #GdaSet
+ 	 * @holder: the #GdaHolder which is going to change
+ 	 * @new_value: the proposed new value for @holder
+@@ -295,7 +295,7 @@ gda_set_class_init (GdaSetClass *class)
+ 			      _gda_marshal_ERROR__OBJECT_VALUE, GDA_TYPE_ERROR, 2,
+ 			      GDA_TYPE_HOLDER, G_TYPE_VALUE);
+ 	/**
+-	 * GdaSet::validate-set
++	 * GdaSet::validate-set:
+ 	 * @set: the #GdaSet
+ 	 * 
+ 	 * Gets emitted when gda_set_is_valid() is called, use
+@@ -312,7 +312,7 @@ gda_set_class_init (GdaSetClass *class)
+ 			      validate_accumulator, NULL,
+ 			      _gda_marshal_ERROR__VOID, GDA_TYPE_ERROR, 0);
+ 	/**
+-	 * GdaSet::holder-attr-changed
++	 * GdaSet::holder-attr-changed:
+ 	 * @set: the #GdaSet
+ 	 * @holder: the GdaHolder for which an attribute changed
+ 	 * @attr_name: attribute's name
+@@ -329,7 +329,7 @@ gda_set_class_init (GdaSetClass *class)
+ 			      _gda_marshal_VOID__OBJECT_STRING_VALUE, G_TYPE_NONE, 3,
+ 			      GDA_TYPE_HOLDER, G_TYPE_STRING, G_TYPE_VALUE);
+ 	/**
+-	 * GdaSet::public-data-changed
++	 * GdaSet::public-data-changed:
+ 	 * @set: the #GdaSet
+ 	 * 
+ 	 * Gets emitted when @set's public data (#GdaSetNode, #GdaSetGroup or #GdaSetSource values) have changed
+@@ -343,7 +343,7 @@ gda_set_class_init (GdaSetClass *class)
+ 			      _gda_marshal_VOID__VOID, G_TYPE_NONE, 0);
+ 
+ 	/**
+-	 * GdaSet::holder-type-set
++	 * GdaSet::holder-type-set:
+ 	 * @set: the #GdaSet
+ 	 * @holder: the #GdaHolder for which the #GType has been set
+ 	 *
+@@ -362,7 +362,7 @@ gda_set_class_init (GdaSetClass *class)
+ 			      GDA_TYPE_HOLDER);
+ 
+ 	/**
+-	 * GdaSet::source-model-changed
++	 * GdaSet::source-model-changed:
+ 	 * @set: the #GdaSet
+ 	 * @source: the #GdaSetSource for which the @data_model attribute has changed
+ 	 *
+@@ -1651,7 +1651,7 @@ gda_set_get_source_for_model (GdaSet *set, GdaDataModel *model)
+ }
+ 
+ /**
+- * gda_set_replace_source_model
++ * gda_set_replace_source_model:
+  * @set: a #GdaSet object
+  * @source: a pointer to a #GdaSetSource in @set
+  * @model: a #GdaDataModel
+diff --git a/libgda/gda-statement.c b/libgda/gda-statement.c
+index e110628..0308a6d 100644
+--- libgda/gda-statement.c.orig
++++ libgda/gda-statement.c
+@@ -131,7 +131,7 @@ gda_statement_class_init (GdaStatementClass * klass)
+ 	parent_class = g_type_class_peek_parent (klass);
+ 
+ 	/**
+-	 * GdaStatement::reset
++	 * GdaStatement::reset:
+ 	 * @stmt: the #GdaStatement object
+ 	 *
+ 	 * Gets emitted whenever the @stmt has changed
+@@ -145,7 +145,7 @@ gda_statement_class_init (GdaStatementClass * klass)
+ 			      g_cclosure_marshal_VOID__VOID, G_TYPE_NONE,
+ 			      0);
+ 	/**
+-	 * GdaStatement::checked
++	 * GdaStatement::checked:
+ 	 * @stmt: the #GdaStatement object
+ 	 *
+ 	 * Gets emitted whenever the structure and contents
+diff --git a/libgda/gda-tree-manager.h b/libgda/gda-tree-manager.h
+index 835ef11..27c924e 100644
+--- libgda/gda-tree-manager.h.orig
++++ libgda/gda-tree-manager.h
+@@ -56,7 +56,7 @@ struct _GdaTreeManagerClass {
+ 
+ 	/* virtual methods */
+ 	/**
+-	 * update_children
++	 * update_children:
+ 	 *
+ 	 * Returns: NULL if an error occurred, and @out_error is set to TRUE
+ 	 */
+diff --git a/libgda/gda-tree-node.c b/libgda/gda-tree-node.c
+index 29f6365..9ec4d8c 100644
+--- libgda/gda-tree-node.c.orig
++++ libgda/gda-tree-node.c
+@@ -97,7 +97,7 @@ gda_tree_node_class_init (GdaTreeNodeClass *klass)
+ 
+ 	/* signals */
+ 	/**
+-	 * GdaTreeNode::node-changed
++	 * GdaTreeNode::node-changed:
+ 	 * @reporting: the #GdaTreeNode which emits the signal (may be a parent of @node, or @node itself)
+ 	 * @node: the #GdaTreeNode which has changed
+ 	 *
+@@ -114,7 +114,7 @@ gda_tree_node_class_init (GdaTreeNodeClass *klass)
+ 			      g_cclosure_marshal_VOID__OBJECT,
+ 			      G_TYPE_NONE, 1, GDA_TYPE_TREE_NODE);
+ 	/**
+-	 * GdaTreeNode::node-inserted
++	 * GdaTreeNode::node-inserted:
+ 	 * @reporting: the #GdaTreeNode which emits the signal (may be a parent of @node, or @node itself)
+ 	 * @node: the #GdaTreeNode which has been inserted
+ 	 *
+@@ -131,7 +131,7 @@ gda_tree_node_class_init (GdaTreeNodeClass *klass)
+ 			      g_cclosure_marshal_VOID__OBJECT,
+ 			      G_TYPE_NONE, 1, GDA_TYPE_TREE_NODE);
+ 	/**
+-	 * GdaTreeNode::node-has-child-toggled
++	 * GdaTreeNode::node-has-child-toggled:
+ 	 * @reporting: the #GdaTreeNode which emits the signal (may be a parent of @node, or @node itself)
+ 	 * @node: the #GdaTreeNode which changed from having children to being a
+ 	 *        leaf or the other way around
+@@ -150,7 +150,7 @@ gda_tree_node_class_init (GdaTreeNodeClass *klass)
+ 			      g_cclosure_marshal_VOID__OBJECT,
+ 			      G_TYPE_NONE, 1, GDA_TYPE_TREE_NODE);
+ 	/**
+-	 * GdaTreeNode::node-deleted
++	 * GdaTreeNode::node-deleted:
+ 	 * @reporting: the #GdaTreeNode which emits the signal (a parent of the removed node)
+ 	 * @relative_path: the path the node held, relative to @reporting
+ 	 *
+diff --git a/libgda/gda-tree.c b/libgda/gda-tree.c
+index afced42..c9ec43a 100644
+--- libgda/gda-tree.c.orig
++++ libgda/gda-tree.c
+@@ -86,7 +86,7 @@ gda_tree_class_init (GdaTreeClass *klass)
+ 
+ 	/* signals */
+ 	/**
+-	 * GdaTree::node-changed
++	 * GdaTree::node-changed:
+ 	 * @tree: the #GdaTree
+ 	 * @node: the #GdaTreeNode which has changed
+ 	 *
+@@ -103,7 +103,7 @@ gda_tree_class_init (GdaTreeClass *klass)
+ 			      g_cclosure_marshal_VOID__OBJECT,
+ 			      G_TYPE_NONE, 1, GDA_TYPE_TREE_NODE);
+ 	/**
+-	 * GdaTree::node-inserted
++	 * GdaTree::node-inserted:
+ 	 * @tree: the #GdaTree
+ 	 * @node: the #GdaTreeNode which has inserted
+ 	 *
+@@ -120,7 +120,7 @@ gda_tree_class_init (GdaTreeClass *klass)
+ 			      g_cclosure_marshal_VOID__OBJECT,
+ 			      G_TYPE_NONE, 1, GDA_TYPE_TREE_NODE);
+ 	/**
+-	 * GdaTree::node-has-child-toggled
++	 * GdaTree::node-has-child-toggled:
+ 	 * @tree: the #GdaTree
+ 	 * @node: the #GdaTreeNode which changed from having children to being a
+ 	 *        leaf or the other way around
+@@ -139,7 +139,7 @@ gda_tree_class_init (GdaTreeClass *klass)
+ 			      g_cclosure_marshal_VOID__OBJECT,
+ 			      G_TYPE_NONE, 1, GDA_TYPE_TREE_NODE);
+ 	/**
+-	 * GdaTree::node-deleted
++	 * GdaTree::node-deleted:
+ 	 * @tree: the #GdaTree
+ 	 * @node_path: the position the node held in @tree as a tree path
+ 	 *
+@@ -749,7 +749,7 @@ static GSList *split_absolute_path (const gchar *path, gboolean *out_error);
+ static GSList *split_indexed_path (const gchar *path, gboolean *out_error);
+ 
+ /**
+- * decompose_path_as_segments
++ * decompose_path_as_segments:
+  * @path: a path using '/'
+  * @use_names: 
+  *
+diff --git a/libgda/gda-value.c b/libgda/gda-value.c
+index 9774ed9..65496c4 100644
+--- libgda/gda-value.c.orig
++++ libgda/gda-value.c
+@@ -1745,7 +1745,7 @@ gda_value_set_null (GValue *value)
+ }
+ 
+ /**
+- * gda_value_get_numeric
++ * gda_value_get_numeric:
+  * @value: a #GValue whose value we want to get.
+  *
+  * Returns: (transfer none): the value stored in @value.
+diff --git a/libgda/gda-value.h b/libgda/gda-value.h
+index f722f2e..6814b28 100644
+--- libgda/gda-value.h.orig
++++ libgda/gda-value.h
+@@ -102,7 +102,7 @@ typedef struct {
+ } GdaBinary;
+ 
+ /**
+- * GdaBlob
++ * GdaBlob:
+  * @data: data buffer, as a #GdaBinary
+  * @op: (allow-none): a pointer to a #GdaBlopOp, or %NULL
+  *
+diff --git a/libgda/providers-support/gda-pstmt.c b/libgda/providers-support/gda-pstmt.c
+index cf1c3ba..5044989 100644
+--- libgda/providers-support/gda-pstmt.c.orig
++++ libgda/providers-support/gda-pstmt.c
+@@ -36,7 +36,7 @@ struct _GdaPStmtPrivate {
+ };
+ 
+ /**
+- * gda_pstmt_get_type
++ * gda_pstmt_get_type:
+  *
+  * Returns: the #GType of GdaPStmt.
+  */
+@@ -144,7 +144,7 @@ gda_pstmt_finalize (GObject *object)
+ }
+ 
+ /**
+- * gda_pstmt_set_gda_statement
++ * gda_pstmt_set_gda_statement:
+  * @pstmt: a #GdaPStmt object
+  * @stmt: a #GdaStatement object
+  *
+@@ -169,7 +169,7 @@ gda_pstmt_set_gda_statement (GdaPStmt *pstmt, GdaStatement *stmt)
+ }
+ 
+ /**
+- * gda_pstmt_copy_contents
++ * gda_pstmt_copy_contents:
+  * @src: a #GdaPStmt object
+  * @dest: a #GdaPStmt object
+  *
+diff --git a/libgda/thread-wrapper/gda-thread-wrapper.c b/libgda/thread-wrapper/gda-thread-wrapper.c
+index 243e0e2..b8fc958 100644
+--- libgda/thread-wrapper/gda-thread-wrapper.c.orig
++++ libgda/thread-wrapper/gda-thread-wrapper.c
+@@ -676,7 +676,7 @@ GQuark gda_thread_wrapper_error_quark (void)
+ }
+ 
+ /**
+- * gda_thread_wrapper_get_type
++ * gda_thread_wrapper_get_type:
+  * 
+  * Registers the #GdaThreadWrapper class on the GLib type system.
+  * 
+@@ -747,7 +747,7 @@ gda_thread_wrapper_get_property (GObject *object,
+ }
+ 
+ /**
+- * gda_thread_wrapper_new
++ * gda_thread_wrapper_new:
+  *
+  * Creates a new #GdaThreadWrapper object
+  *
+@@ -1012,7 +1012,7 @@ gda_thread_wrapper_execute_void (GdaThreadWrapper *wrapper, GdaThreadWrapperVoid
+ }
+ 
+ /**
+- * gda_thread_wrapper_cancel
++ * gda_thread_wrapper_cancel:
+  * @wrapper: a #GdaThreadWrapper object
+  * @id: the ID of a job as returned by gda_thread_wrapper_execute() or gda_thread_wrapper_execute_void()
+  * 
+@@ -1071,7 +1071,7 @@ gda_thread_wrapper_cancel (GdaThreadWrapper *wrapper, guint id)
+ }
+ 
+ /**
+- * gda_thread_wrapper_iterate
++ * gda_thread_wrapper_iterate:
+  * @wrapper: a #GdaThreadWrapper object
+  * @may_block: whether the call may block
+  *
+@@ -1241,7 +1241,7 @@ gda_thread_wrapper_fetch_result (GdaThreadWrapper *wrapper, gboolean may_lock, g
+ }
+ 
+ /**
+- * gda_thread_wrapper_get_waiting_size
++ * gda_thread_wrapper_get_waiting_size:
+  * @wrapper: a #GdaThreadWrapper object
+  *
+  * Use this method to query the number of functions which have been queued to be executed
+@@ -1499,7 +1499,7 @@ find_signal_r_func (G_GNUC_UNUSED GThread *thread, ThreadData *td, gulong *id)
+ }
+ 
+ /**
+- * gda_thread_wrapper_disconnect
++ * gda_thread_wrapper_disconnect:
+  * @wrapper: a #GdaThreadWrapper object
+  * @id: a handler ID, as returned by gda_thread_wrapper_connect_raw()
+  *
+@@ -1574,7 +1574,7 @@ gda_thread_wrapper_disconnect (GdaThreadWrapper *wrapper, gulong id)
+ }
+ 
+ /**
+- * gda_thread_wrapper_steal_signal
++ * gda_thread_wrapper_steal_signal:
+  * @wrapper: a #GdaThreadWrapper object
+  * @id: a signal ID
+  *
+--
+cgit v0.9.2

Added: trunk/dports/databases/libgda4/files/patch-introspection-1.36.diff
===================================================================
--- trunk/dports/databases/libgda4/files/patch-introspection-1.36.diff	                        (rev 0)
+++ trunk/dports/databases/libgda4/files/patch-introspection-1.36.diff	2013-10-02 18:28:24 UTC (rev 111816)
@@ -0,0 +1,645 @@
+From 9483e71285f98be8e72466f15ca46a95b704199c Mon Sep 17 00:00:00 2001
+From: Daniel Espinosa <esodan at gmail.com>
+Date: Wed, 31 Jul 2013 20:31:37 +0000
+Subject: Fixes to build using GI 1.36 at least
+
+---
+diff --git a/libgda/Makefile.am b/libgda/Makefile.am
+index 027be4f..c0f0d3f 100644
+--- libgda/Makefile.am.orig
++++ libgda/Makefile.am
+@@ -123,13 +123,9 @@ gda_sources= \
+ 	$(GDA_LDAP_S) \
+ 	gda-data-model.c \
+ 	gda-data-model-dir.c \
+-	gda-data-model-dsn-list.c \
+-	gda-data-model-dsn-list.h \
+ 	gda-data-model-import.c \
+ 	gda-data-model-iter.c \
+ 	gda-data-access-wrapper.c \
+-	gda-data-meta-wrapper.c \
+-	gda-data-meta-wrapper.h \
+ 	gda-data-proxy.c \
+ 	gda-data-select.c \
+ 	gda-easy.c \
+@@ -146,7 +142,6 @@ gda_sources= \
+ 	gda-row.c \
+ 	gda-set.c \
+ 	gda-server-operation.c \
+-	gda-server-operation-private.h \
+ 	gda-server-provider.c \
+ 	gda-server-provider-extra.c \
+ 	gda-statement.c \
+@@ -179,8 +174,13 @@ libgda_sources =  \
+ 	gda-types.c \
+ 	gda-types.h \
+ 	gda-marshal.c \
++	gda-data-meta-wrapper.c \
++	gda-data-meta-wrapper.h \
++	gda-data-model-dsn-list.c \
++	gda-data-model-dsn-list.h \
+ 	gda-meta-store-extra.h \
+ 	gda-meta-struct-private.h \
++	gda-server-operation-private.h \
+ 	gda-statement-priv.h \
+ 	global.h \
+ 	md5.h \
+@@ -334,9 +334,8 @@ handlers = \
+ 	handlers/gda-handler-time.c \
+ 	handlers/gda-handler-type.c
+ 
+-introspection_sources = $(gda_sources) \
+-	gda-types.c \
+-	gda-types.h \
++introspection_sources = \
++	$(gda_sources) \
+ 	$(gda_headers) \
+ 	$(psupport) \
+ 	$(threadwrapper) \
+diff --git a/libgda/gda-data-model-dir.c b/libgda/gda-data-model-dir.c
+index 7f22798..4b75f1b 100644
+--- libgda/gda-data-model-dir.c.orig
++++ libgda/gda-data-model-dir.c
+@@ -688,7 +688,7 @@ gda_data_model_dir_new (const gchar *basedir)
+  *
+  * Get the list of errors which have occurred while using @model
+  *
+- * Returns: (transfer none) (element-type GObject.Error) : a read-only list of #GError pointers, or %NULL if no error has occurred
++ * Returns: (transfer none) (element-type GLib.Error) : a read-only list of #GError pointers, or %NULL if no error has occurred
+  */
+ const GSList *
+ gda_data_model_dir_get_errors (GdaDataModelDir *model)
+diff --git a/libgda/gda-data-model-import.c b/libgda/gda-data-model-import.c
+index 84e1c32..df1c2d6 100644
+--- libgda/gda-data-model-import.c.orig
++++ libgda/gda-data-model-import.c
+@@ -1693,7 +1693,7 @@ add_error (GdaDataModelImport *model, const gchar *err)
+  * Get the list of errors which @model has to report. The returned list is a list of
+  * #GError structures, and must not be modified
+  *
+- * Returns: (transfer none) (element-type GObject.Error): the list of errors (which must not be modified), or %NULL
++ * Returns: (transfer none) (element-type GLib.Error): the list of errors (which must not be modified), or %NULL
+  */
+ GSList *
+ gda_data_model_import_get_errors (GdaDataModelImport *model)
+diff --git a/libgda/gda-data-model.c b/libgda/gda-data-model.c
+index d571035..c7e8413 100644
+--- libgda/gda-data-model.c.orig
++++ libgda/gda-data-model.c
+@@ -787,7 +787,7 @@ gda_data_model_set_value_at (GdaDataModel *model, gint col, gint row, const GVal
+  * gda_data_model_set_values:
+  * @model: a #GdaDataModel object.
+  * @row: row number.
+- * @values: (element-type GLib.Value) (transfer none) (allow-none): a list of #GValue (or %NULL), one for at most the number of columns of @model
++ * @values: (element-type GObject.Value) (transfer none) (allow-none): a list of #GValue (or %NULL), one for at most the number of columns of @model
+  * @error: a place to store errors, or %NULL
+  *
+  * In a similar way to gda_data_model_set_value_at(), this method modifies a data model's contents
+@@ -886,7 +886,7 @@ gda_data_model_create_iter (GdaDataModel *model)
+ /**
+  * gda_data_model_append_values:
+  * @model: a #GdaDataModel object.
+- * @values: (element-type GLib.Value) (allow-none): #GList of #GValue* representing the row to add.  The
++ * @values: (element-type GObject.Value) (allow-none): #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).
+  * @error: a place to store errors, or %NULL
+@@ -992,7 +992,7 @@ gda_data_model_remove_row (GdaDataModel *model, gint row, GError **error)
+ /**
+  * gda_data_model_get_row_from_values:
+  * @model: a #GdaDataModel object.
+- * @values: (element-type GLib.Value): a list of #GValue values (no %NULL is allowed)
++ * @values: (element-type GObject.Value): a list of #GValue values (no %NULL is allowed)
+  * @cols_index: (array): an array of #gint containing the column number to match each value of @values
+  *
+  * Returns the first row where all the values in @values at the columns identified at
+diff --git a/libgda/gda-meta-store.c b/libgda/gda-meta-store.c
+index e815765..d0ae89d 100644
+--- libgda/gda-meta-store.c.orig
++++ libgda/gda-meta-store.c
+@@ -395,7 +395,7 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
+ 		G_STRUCT_OFFSET (GdaMetaStoreClass, suggest_update),
+ 		suggest_update_accumulator, NULL,
+ 		_gda_marshal_ERROR__METACONTEXT, GDA_TYPE_ERROR,
+-		1, GDA_TYPE_META_CONTEXT);
++		1, G_TYPE_POINTER);
+ 	/**
+ 	 * GdaMetaStore::meta-changed
+ 	 * @store: the #GdaMetaStore instance that emitted the signal
+diff --git a/libgda/gda-server-provider.h b/libgda/gda-server-provider.h
+index 7322c08..0da8654 100644
+--- libgda/gda-server-provider.h.orig
++++ libgda/gda-server-provider.h
+@@ -46,6 +46,9 @@ G_BEGIN_DECLS
+ extern GQuark gda_server_provider_error_quark (void);
+ #define GDA_SERVER_PROVIDER_ERROR gda_server_provider_error_quark ()
+ 
++/**
++ * GdaServerProviderError:
++ */
+ typedef enum
+ {
+         GDA_SERVER_PROVIDER_METHOD_NON_IMPLEMENTED_ERROR,
+@@ -64,134 +67,226 @@ typedef enum
+ 	GDA_SERVER_PROVIDER_FILE_NOT_FOUND_ERROR
+ } GdaServerProviderError;
+ 
++/**
++ * GdaServerProvider:
++ */
+ struct _GdaServerProvider {
+ 	GObject                   object;
+ 	GdaServerProviderPrivate *priv;
+ };
+ 
++
++/**
++ * GdaServerProviderMeta: (skip)
++ * @_info:
++ * @_btypes:
++ * @_udt:
++ * @udt:
++ * @_udt_cols:
++ * @udt_cols:
++ * @_enums:
++ * @enums:
++ * @_domains:
++ * @domains:
++ * @_constraints_dom:
++ * @constraints_dom:
++ * @_el_types:
++ * @el_types:
++ * @_collations:
++ * @collations:
++ * @_character_sets:
++ * @character_sets:
++ * @_schemata:
++ * @schemata:
++ * @_tables_views:
++ * @tables_views:
++ * @_columns:
++ * @columns:
++ * @_view_cols:
++ * @view_cols:
++ * @_constraints_tab:
++ * @constraints_tab:
++ * @_constraints_ref:
++ * @constraints_ref:
++ * @_key_columns:
++ * @key_columns:
++ * @_check_columns:
++ * @check_columns:
++ * @_triggers:
++ * @triggers:
++ * @_routines:
++ * @routines:
++ * @_routine_col:
++ * @routine_col:
++ * @_routine_par:
++ * @routine_par:
++ * @_indexes_tab:
++ * @indexes_tab:
++ * @_index_cols:
++ * @index_cols:
++ *
++ * These methods must be implemented by providers to update a connection's associated metadata (in a 
++ * #GdaMetaStore object), see the <link linkend="prov-metadata">Virtual methods for providers/Methods - metadata</link>
++ * for more information.
++ */
+ typedef struct {
+ 	/* _information_schema_catalog_name */
+-	gboolean (*_info)            (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
++	gboolean (*_info)            (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
+ 
+ 	/* _builtin_data_types */
+-	gboolean (*_btypes)          (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
++	gboolean (*_btypes)          (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
+ 
+ 	/* _udt */
+-	gboolean (*_udt)             (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*udt)              (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *udt_catalog, const GValue *udt_schema);
++	gboolean (*_udt)             (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*udt)              (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *udt_catalog, const GValue *udt_schema);
+ 
+ 	/* _udt_columns */
+-	gboolean (*_udt_cols)        (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*udt_cols)         (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *udt_catalog, const GValue *udt_schema, const GValue *udt_name);
++	gboolean (*_udt_cols)        (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*udt_cols)         (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *udt_catalog, const GValue *udt_schema,
++				      const GValue *udt_name);
+ 
+ 	/* _enums */
+-	gboolean (*_enums)           (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*enums)            (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *udt_catalog, const GValue *udt_schema, const GValue *udt_name);
++	gboolean (*_enums)           (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*enums)            (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *udt_catalog, const GValue *udt_schema,
++				      const GValue *udt_name);
+ 
+ 	/* _domains */
+-	gboolean (*_domains)         (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*domains)          (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *domain_catalog, const GValue *domain_schema);
++	gboolean (*_domains)         (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*domains)          (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++	GError **error, const GValue *domain_catalog, const GValue *domain_schema);
+ 
+ 	/* _domain_constraints */
+-	gboolean (*_constraints_dom) (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*constraints_dom)  (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *domain_catalog, const GValue *domain_schema, const GValue *domain_name);
++	gboolean (*_constraints_dom) (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*constraints_dom)  (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++	GError **error, const GValue *domain_catalog, const GValue *domain_schema, const GValue *domain_name);
+ 
+ 	/* _element_types */
+-	gboolean (*_el_types)        (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*el_types)         (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *specific_name);
++	gboolean (*_el_types)        (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*el_types)         (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *specific_name);
+ 
+ 	/* _collations */
+-	gboolean (*_collations)       (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*collations)        (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				       const GValue *collation_catalog, const GValue *collation_schema, 
+-				       const GValue *collation_name_n);
++	gboolean (*_collations)       (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*collations)        (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *collation_catalog, const GValue *collation_schema,
++				      const GValue *collation_name_n);
+ 
+ 	/* _character_sets */
+-	gboolean (*_character_sets)  (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*character_sets)   (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *chset_catalog, const GValue *chset_schema, const GValue *chset_name_n);
++	gboolean (*_character_sets)  (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*character_sets)   (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *chset_catalog, const GValue *chset_schema,
++				      const GValue *chset_name_n);
+ 
+ 	/* _schemata */
+-	gboolean (*_schemata)        (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*schemata)         (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **, 
+-				      const GValue *catalog_name, const GValue *schema_name_n);
++	gboolean (*_schemata)        (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*schemata)         (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *catalog_name, const GValue *schema_name_n);
+ 
+ 	/* _tables or _views */
+-	gboolean (*_tables_views)    (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*tables_views)     (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name_n);
++	gboolean (*_tables_views)    (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++			      	GError **error);
++	gboolean (*tables_views)     (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *table_catalog, const GValue *table_schema,
++				      const GValue *table_name_n);
+ 
+ 	/* _columns */
+-	gboolean (*_columns)         (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*columns)          (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name);
++	gboolean (*_columns)         (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*columns)          (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *table_catalog, const GValue *table_schema,
++				      const GValue *table_name);
+ 
+ 	/* _view_column_usage */
+-	gboolean (*_view_cols)       (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*view_cols)        (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *view_catalog, const GValue *view_schema, const GValue *view_name);
++	gboolean (*_view_cols)       (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*view_cols)        (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *view_catalog, const GValue *view_schema,
++				      const GValue *view_name);
+ 
+ 	/* _table_constraints */
+-	gboolean (*_constraints_tab) (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*constraints_tab)  (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **, 
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name,
+-				      const GValue *constraint_name_n);
++	gboolean (*_constraints_tab) (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*constraints_tab)  (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++			      	GError **error, const GValue *table_catalog, const GValue *table_schema,
++			      	const GValue *table_name, const GValue *constraint_name_n);
+ 
+ 	/* _referential_constraints */
+-	gboolean (*_constraints_ref) (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*constraints_ref)  (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name, 
+-				      const GValue *constraint_name);
++	gboolean (*_constraints_ref) (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*constraints_ref)  (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++			      	GError **error, const GValue *table_catalog, const GValue *table_schema,
++			      	const GValue *table_name, const GValue *constraint_name);
+ 
+ 	/* _key_column_usage */
+-	gboolean (*_key_columns)     (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*key_columns)      (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name, 
+-				      const GValue *constraint_name);
++	gboolean (*_key_columns)     (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*key_columns)      (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *table_catalog, const GValue *table_schema,
++				      const GValue *table_name, const GValue *constraint_name);
+ 
+ 	/* _check_column_usage */
+-	gboolean (*_check_columns)   (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*check_columns)    (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name, 
+-				      const GValue *constraint_name);
++	gboolean (*_check_columns)   (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*check_columns)    (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++	GError **error, const GValue *table_catalog, const GValue *table_schema,
++			      	const GValue *table_name, const GValue *constraint_name);
+ 
+ 	/* _triggers */
+-	gboolean (*_triggers)        (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*triggers)         (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name);
++	gboolean (*_triggers)        (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*triggers)         (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++			      	GError **error, const GValue *table_catalog, const GValue *table_schema,
++			      	const GValue *table_name);
+ 
+ 	/* _routines */
+-	gboolean (*_routines)       (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*routines)        (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				     const GValue *routine_catalog, const GValue *routine_schema, 
+-				     const GValue *routine_name_n);
++	gboolean (*_routines)       (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++			      	GError **error);
++	gboolean (*routines)        (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *routine_catalog, const GValue *routine_schema, 
++				      const GValue *routine_name_n);
+ 
+ 	/* _routine_columns */
+-	gboolean (*_routine_col)     (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*routine_col)      (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *rout_catalog, const GValue *rout_schema, const GValue *rout_name);
++	gboolean (*_routine_col)     (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*routine_col)      (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt, 
++				      GError **error, const GValue *rout_catalog, const GValue *rout_schema,
++				      const GValue *rout_name);
+ 
+ 	/* _parameters */
+-	gboolean (*_routine_par)     (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*routine_par)      (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *rout_catalog, const GValue *rout_schema, const GValue *rout_name);
++	gboolean (*_routine_par)     (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*routine_par)      (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++			      	GError **error, const GValue *rout_catalog, const GValue *rout_schema,
++				      const GValue *rout_name);
+ 	/* _table_indexes */
+-	gboolean (*_indexes_tab)     (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*indexes_tab)      (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **, 
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name,
+-				      const GValue *index_name_n);
++	gboolean (*_indexes_tab)     (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*indexes_tab)      (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *table_catalog, const GValue *table_schema,
++				      const GValue *table_name, const GValue *index_name_n);
+ 
+ 	/* _index_column_usage */
+-	gboolean (*_index_cols)      (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **);
+-	gboolean (*index_cols)       (GdaServerProvider *, GdaConnection *, GdaMetaStore *, GdaMetaContext *, GError **,
+-				      const GValue *table_catalog, const GValue *table_schema, const GValue *table_name, const GValue *index_name);
++	gboolean (*_index_cols)      (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error);
++	gboolean (*index_cols)       (GdaServerProvider *prov, GdaConnection *cnc, GdaMetaStore *store, GdaMetaContext *cxt,
++				      GError **error, const GValue *table_catalog, const GValue *table_schema,
++				      const GValue *table_name, const GValue *index_name);
+ 	
++	/*< private >*/
+ 	/* Padding for future expansion */
+ 	void (*_gda_reserved5) (void);
+ 	void (*_gda_reserved6) (void);
+@@ -209,23 +304,51 @@ typedef struct {
+ } GdaServerProviderMeta;
+ 
+ /* distributed transaction support */
++/**
++ * GdaServerProviderXa: (skip)
++ */
+ typedef struct {
+-	gboolean (*xa_start)    (GdaServerProvider *, GdaConnection *, const GdaXaTransactionId *, GError **);
++	gboolean (*xa_start)    (GdaServerProvider *prov, GdaConnection *cnc, const GdaXaTransactionId *trid, GError **error);
+ 
+-	gboolean (*xa_end)      (GdaServerProvider *, GdaConnection *, const GdaXaTransactionId *, GError **);
+-	gboolean (*xa_prepare)  (GdaServerProvider *, GdaConnection *, const GdaXaTransactionId *, GError **);
++	gboolean (*xa_end)      (GdaServerProvider *prov, GdaConnection *cnc, const GdaXaTransactionId *trid, GError **error);
++	gboolean (*xa_prepare)  (GdaServerProvider *prov, GdaConnection *cnc, const GdaXaTransactionId *trid, GError **error);
+ 
+-	gboolean (*xa_commit)   (GdaServerProvider *, GdaConnection *, const GdaXaTransactionId *, GError **);
+-	gboolean (*xa_rollback) (GdaServerProvider *, GdaConnection *, const GdaXaTransactionId *, GError **);
++	gboolean (*xa_commit)   (GdaServerProvider *prov, GdaConnection *cnc, const GdaXaTransactionId *trid, GError **error);
++	gboolean (*xa_rollback) (GdaServerProvider *prov, GdaConnection *cnc, const GdaXaTransactionId *trid, GError **error);
+ 
+-	GList   *(*xa_recover)  (GdaServerProvider *, GdaConnection *, GError **);
++	GList   *(*xa_recover)  (GdaServerProvider *prov, GdaConnection *cnc, GError **error);
+ } GdaServerProviderXa;
+ 
++/**
++ * GdaServerProviderAsyncCallback:
++ * @provider: 
++ * @cnc: 
++ * @task_id: 
++ * @result_status: 
++ * @error: 
++ * @data: 
++ *
++ * Function to be called by Libgda when the associated asynchronous method invoked finishes.
++ */
+ typedef void (*GdaServerProviderAsyncCallback) (GdaServerProvider *provider, GdaConnection *cnc, guint task_id, 
+ 						gboolean result_status, const GError *error, gpointer data);
++/**
++ * GdaServerProviderExecCallback:
++ * @provider: 
++ * @cnc: 
++ * @task_id: 
++ * @result_obj: 
++ * @error: 
++ * @data: 
++ *
++ * Function to be called by Libgda when the associated asynchronous method invoked finishes
++ */
+ typedef void (*GdaServerProviderExecCallback) (GdaServerProvider *provider, GdaConnection *cnc, guint task_id, 
+ 					       GObject *result_obj, const GError *error, gpointer data);
+ 
++/**
++ * GDA_SERVER_PROVIDER_UNDEFINED_LIMITING_THREAD: (skip)
++ */
+ #define GDA_SERVER_PROVIDER_UNDEFINED_LIMITING_THREAD ((gpointer)0x1)
+ struct _GdaServerProviderClass {
+ 	GObjectClass parent_class;
+@@ -281,14 +404,15 @@ struct _GdaServerProviderClass {
+ 
+ 	/* GdaStatement */
+ 	GdaSqlParser           *(* create_parser)        (GdaServerProvider *provider, GdaConnection *cnc);
+-
+-	/**
+-	 * statement_to_sql:
+-	 * @cnc: a #GdaConnection object
+-	 * @stmt: a #GdaStatement object
+-	 * @params: (allow-none): a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL
+-	 * @flags: SQL rendering flags, as #GdaStatementSqlFlag OR'ed values
+-	 * @params_used: (allow-none) (element-type Gda.Holder) (out) (transfer container): a place to store the list of individual #GdaHolder objects within @params which have been used
++	
++/**
++ * statement_to_sql:
++ * @provider: a #GdaServerProvider object
++ * @cnc: a #GdaConnection object
++ * @stmt: a #GdaStatement object
++ * @params: (allow-none): a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL
++ * @flags: SQL rendering flags, as #GdaStatementSqlFlag OR'ed values
++ * @params_used: (allow-none) (element-type Gda.Holder) (out) (transfer container): a place to store the list of individual #GdaHolder objects within @params which have been used
+ 	 * @error: a place to store errors, or %NULL
+ 	 *
+ 	 * Renders @stmt as an SQL statement, adapted to the SQL dialect used by @cnc
+@@ -308,7 +432,8 @@ struct _GdaServerProviderClass {
+ 							  gpointer cb_data, GError **error);
+ 
+ 	/* Misc */
+-	gboolean                (* is_busy)              (GdaServerProvider *provider, GdaConnection *cnc, GError **error);
++	gboolean                (* is_busy)              (GdaServerProvider *provider, GdaConnection *cnc,
++				        GError **error);
+ 	gboolean                (* cancel)               (GdaServerProvider *provider, GdaConnection *cnc, 
+ 							  guint task_id, GError **error);
+ 	GdaConnection          *(* create_connection)    (GdaServerProvider *provider);
+@@ -321,8 +446,7 @@ struct _GdaServerProviderClass {
+ 
+ 	/* SQL identifiers quoting */
+ 	gchar                  *(* identifier_quote)    (GdaServerProvider *provider, GdaConnection *cnc,
+-							 const gchar *id,
+-							 gboolean for_meta_store, gboolean force_quotes);
++							 const gchar *id, gboolean for_meta_store, gboolean force_quotes);
+ 
+ 	/* Async. handling */
+ 	gboolean                (*handle_async)         (GdaServerProvider *provider, GdaConnection *cnc, GError **error);
+@@ -336,6 +460,20 @@ struct _GdaServerProviderClass {
+ 	void                    (*_gda_reserved6)        (void);
+ };
+ 
++/**
++ * SECTION:gda-server-provider
++ * @short_description: Base class for all the DBMS providers
++ * @title: GdaServerProvider
++ * @stability: Stable
++ * @see_also: #GdaConnection
++ *
++ * The #GdaServerProvider class is a virtual class which all the DBMS providers
++ * must inherit, and implement its virtual methods.
++ *
++ * See the <link linkend="libgda-provider-class">Virtual methods for providers</link> section for more information
++ * about how to implement the virtual methods.
++ */
++
+ GType                  gda_server_provider_get_type (void) G_GNUC_CONST;
+ 
+ /* provider information */
+diff --git a/libgda/gda-sql-builder.h b/libgda/gda-sql-builder.h
+index 5d342a7..ad4ae2b 100644
+--- libgda/gda-sql-builder.h.orig
++++ libgda/gda-sql-builder.h
+@@ -75,7 +75,7 @@ GdaStatement     *gda_sql_builder_get_statement (GdaSqlBuilder *builder, GError
+ GdaSqlStatement  *gda_sql_builder_get_sql_statement (GdaSqlBuilder *builder);
+ 
+ /* Expression API */
+-GdaSqlBuilderId gda_sql_builder_add_id (GdaSqlBuilder *builder, const gchar *string);
++GdaSqlBuilderId gda_sql_builder_add_id (GdaSqlBuilder *builder, const gchar *str);
+ GdaSqlBuilderId gda_sql_builder_add_field_id (GdaSqlBuilder *builder, const gchar *field_name, const gchar *table_name);
+ GdaSqlBuilderId gda_sql_builder_add_expr (GdaSqlBuilder *builder, GdaDataHandler *dh, GType type, ...);
+ GdaSqlBuilderId gda_sql_builder_add_expr_value (GdaSqlBuilder *builder, GdaDataHandler *dh, const GValue *value);
+diff --git a/libgda/providers-support/gda-pstmt.h b/libgda/providers-support/gda-pstmt.h
+index 3caedeb..3763810 100644
+--- libgda/providers-support/gda-pstmt.h.orig
++++ libgda/providers-support/gda-pstmt.h
+@@ -38,10 +38,10 @@ typedef struct _GdaPStmtClass   GdaPStmtClass;
+ /**
+  * GdaPStmt:
+  * @sql: actual SQL code used for this prepared statement, mem freed by GdaPStmt
+- * @param_ids: (element-type string): list of parameters' IDs (as gchar *), mem freed by GdaPStmt
++ * @param_ids: (element-type utf8): list of parameters' IDs (as gchar *), mem freed by GdaPStmt
+  * @ncols: number of types in array
+  * @types: (array length=ncols) (element-type GLib.Type): array of ncols types
+- * @tmpl_columns: (element-type Gda.Colum): list of #GdaColumn objects which data models created from this prep. statement can copy
++ * @tmpl_columns: (element-type Gda.Column): list of #GdaColumn objects which data models created from this prep. statement can copy
+  *
+  */
+ struct _GdaPStmt {
+diff --git a/libgda/sql-parser/gda-sql-parser.h b/libgda/sql-parser/gda-sql-parser.h
+index f4da417..d567ceb 100644
+--- libgda/sql-parser/gda-sql-parser.h.orig
++++ libgda/sql-parser/gda-sql-parser.h
+@@ -82,16 +82,16 @@ struct _GdaSqlParserClass
+ 	GObjectClass         parent_class;
+ 
+ 	/* virtual methods and data for sub classed parsers */
+-	void *(*delim_alloc) (void*(*)(size_t));
+-	void (*delim_free) (void*, void(*)(void*));
+-	void (*delim_trace) (void*, char *);
+-	void (*delim_parse) (void*, int, GValue *, GdaSqlParserIface *);
++	void *(*delim_alloc) (void *(*f)(size_t s));
++	void (*delim_free) (void *d, void (*f) (void*param));
++	void (*delim_trace) (void *d, char *s);
++	void (*delim_parse) (void *d, int i, GValue *v, GdaSqlParserIface *iface);
+ 	gint *delim_tokens_trans;
+ 	
+-	void *(*parser_alloc) (void*(*)(size_t));
+-	void (*parser_free) (void*, void(*)(void*));
+-	void (*parser_trace) (void*, char *);
+-	void (*parser_parse) (void*, int, GValue *, GdaSqlParserIface *);	
++	void *(*parser_alloc) (void *(*f)(size_t s));
++	void (*parser_free) (void *p, void (*f) (void *param));
++	void (*parser_trace) (void *p, char *s);
++	void (*parser_parse) (void *p, int i, GValue *v, GdaSqlParserIface *iface);
+ 	gint *parser_tokens_trans;
+ 
+ 	/* Padding for future expansion */
+diff --git a/libgda/sql-parser/gda-statement-struct-decl.h b/libgda/sql-parser/gda-statement-struct-decl.h
+index 73b7920..bf44c45 100644
+--- libgda/sql-parser/gda-statement-struct-decl.h.orig
++++ libgda/sql-parser/gda-statement-struct-decl.h
+@@ -250,9 +250,9 @@ typedef struct {
+ 	GdaSqlStatementType  type;
+ 	gchar               *name;
+ 	gpointer            (*construct) (void);
+-	void                (*free) (gpointer);
+-	gpointer            (*copy) (gpointer);
+-	gchar              *(*serialize) (gpointer);
++	void                (*free) (gpointer stm);
++	gpointer            (*copy) (gpointer stm);
++	gchar              *(*serialize) (gpointer stm);
+ 
+ 	/* augmenting information precision using a dictionary */
+ 	GdaSqlForeachFunc     check_structure_func;
+--
+cgit v0.9.2

Added: trunk/dports/databases/libgda4/files/patch-libgda_gda-data-select.c.diff
===================================================================
--- trunk/dports/databases/libgda4/files/patch-libgda_gda-data-select.c.diff	                        (rev 0)
+++ trunk/dports/databases/libgda4/files/patch-libgda_gda-data-select.c.diff	2013-10-02 18:28:24 UTC (rev 111816)
@@ -0,0 +1,21 @@
+From 0a7a7b4d17d32922bc4de1bd43f03b75021fd61a Mon Sep 17 00:00:00 2001
+From: Vivien Malerba <malerba at gnome-db.org>
+Date: Wed, 09 May 2012 13:40:16 +0000
+Subject: Fixed GdaDataSelect's implementation of get_attributes_at()
+
+---
+diff --git a/libgda/gda-data-select.c b/libgda/gda-data-select.c
+index 3057613..40de52c 100644
+--- libgda/gda-data-select.c.orig
++++ libgda/gda-data-select.c
+@@ -2044,7 +2044,7 @@ gda_data_select_get_attributes_at (GdaDataModel *model, gint col, gint row)
+ 					gchar *tmp;
+ 					gint i;
+ 					for (i = 0; i < ncols; i++) {
+-						tmp = g_strdup_printf ("+%d", col);
++						tmp = g_strdup_printf ("+%d", i);
+ 						if (gda_set_get_holder (set, tmp))
+ 							imodel->priv->sh->modif_internals->cols_mod[m][i] = TRUE;
+ 						g_free (tmp);
+--
+cgit v0.9.2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20131002/3c94a1e2/attachment-0001.html>


More information about the macports-changes mailing list