[libgda] Updated Vala bindings and fixes on autotools integration: * Fix for bug 678647, and includes tempora



commit 80aba428d928c4352787bbe9f2b339d031753b6c
Author: Daniel Espinosa <esodan gmail com>
Date:   Tue Sep 18 01:31:58 2012 -0500

    Updated Vala bindings and fixes on autotools integration:
    * Fix for bug 678647, and includes temporaly fixes for ubuntu bug 1048790
    adding a custom m4/vapigen.m4 file
    * Updated Gda-5.0 and GdaData-5.0 GIR files
    * Vala extensions now requires Vala >= 0.17.5 and Gee >= 0.7.90
    * Port Vala extensions to Gee 0.7.90
    * Updates to Unit Tests build

 INSTALL                           |    9 +-
 configure.ac                      |   79 ++------
 libgda/Gda-5.0.gir                |  371 +++++++-----------------------------
 libgda/Makefile.am                |    4 +-
 libgda/data/GdaData-5.0.gir       |  246 ++++++++++++------------
 libgda/data/Makefile.am           |   22 +--
 libgda/data/Record.vala           |    1 -
 libgda/data/RecordCollection.vala |   94 ++++------
 m4/vapigen.m4                     |  129 +++++++++++++
 tests/vala/Makefile.am            |   40 +----
 10 files changed, 402 insertions(+), 593 deletions(-)
---
diff --git a/INSTALL b/INSTALL
index 7d1c323..a1e89e1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -226,6 +226,11 @@ order to use an ANSI C compiler:
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
 parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
 a workaround.  If GNU CC is not installed, it is therefore recommended
diff --git a/configure.ac b/configure.ac
index 03c4059..986f059 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,6 +5,7 @@ m4_define([gda_stable],
 	m4_if(m4_eval(minor % 2), [0], [yes], [no]))
 AC_CONFIG_MACRO_DIR([m4])
 m4_include(m4/introspection.m4)
+m4_include(m4/vapigen.m4)
 m4_include(m4/dk-warn.m4)
 m4_include(m4/mdbtools.m4)
 m4_include(m4/bdb.m4)
@@ -473,71 +474,27 @@ AM_CONDITIONAL(ENABLE_GI_SYSTEM_INSTALL, [test x"$enable_gi_system_install" = "x
 dnl ******************************
 dnl Check for Vala Compiler
 dnl ******************************
-
-AC_ARG_ENABLE([vala],
-    AS_HELP_STRING([--enable-vala], [Enable support for Vala bindings generation [default=auto]]),
-    [enable_vala=$enableval],[enable_vala=no])
-
 AC_ARG_ENABLE([vala-extensions],
     AS_HELP_STRING([--enable-vala-extensions], [Enable support for Vala extensions [default=no]]),
     [enable_vala_ext=$enableval],[enable_vala_ext=no])
 
-have_vala=no
-if test "x$found_introspection" = "xyes"
-then
-    VALA_MODULES="libvala-0.16 >= 0.15.0"
-    PKG_CHECK_MODULES(VALA, $VALA_MODULES,
-    if test "$enable_vala" = "yes" -o "$enable_vala" = "auto"
-	then
-        have_vala=yes
-	    AC_DEFINE(HAVE_VALA, [], [Defined if Vala support is enabled])
-	fi,
-	if test "$enable_vala" = "yes"
-	then
-	    AC_MSG_ERROR([Vala support requested but not found])
-	fi)
-
-    if test "x$have_vala" = "xyes"
-    then
-	    AC_PATH_PROG(VAPIGEN, [vapigen-0.16], [no])
-        if test "x$VAPIGEN" = "xno"
-        then
-            AC_MSG_ERROR([Vala found but vapigen not found])
-        fi
-        VALA_DATADIR=`pkg-config $VALA_MODULES --variable=datadir`
-        VAPIDIR="$VALA_DATADIR/vala/vapi"
-        AC_SUBST(VAPIGEN)
-        AC_SUBST(VAPIDIR)
-	VALA_BINDIR=`pkg-config $VALA_MODULES --variable=bindir`
-	AC_SUBST(VALA_BINDIR)
-	VALA_COMPILER="$VALA_BINDIR/valac-0.16"
-	AC_SUBST(VALA_COMPILER)
-	    
-	if test "x$enable_vala_ext" = "xyes"
-	then
-dnl Check for libgee
-          GEE_REQUIRED="0.7.0"
-          PKG_CHECK_MODULES(GEE, gee-0.8 >= $GEE_REQUIRED)
-          AC_SUBST(GEE_CFLAGS)
-          AC_SUBST(GEE_LIBS)
-      fi
-    else
-      if test "x$enable_vala_ext" = "xyes"
-        then
-            AC_MSG_ERROR([Vala extensions for Libgda are requested but Vala is not available or enable])
-            $enable_vala_ext = "no"
-        fi
-    fi
-else
-    if test "x$enable_vala" = xyes
-    then
-	AC_MSG_ERROR([Vala bindings for Libgda are requested but not available])
-    fi
-fi
-enable_vala=$have_vala
-AM_CONDITIONAL(ENABLE_VALA, [test "$enable_vala" = "yes"])
-
-AM_CONDITIONAL(ENABLE_VALA_EXTENSIONS, [test "$enable_vala_ext" = "yes"])
+AS_CASE([$enable_vala_ext],[yes],[
+    VAPIGEN_CHECK([0.17.5],[0.18])
+    AS_CASE([$enable_vala],[yes],[
+      dnl Check for libgee
+      enable_vala_ext=yes
+      GEE_REQUIRED="0.7.90"
+      PKG_CHECK_MODULES(GEE, gee-0.8 >= $GEE_REQUIRED)
+      AC_SUBST(GEE_CFLAGS)
+      AC_SUBST(GEE_LIBS)
+    ],[no],[
+      AC_MSG_ERROR([Vala extensions for Libgda are requested but Vala/vapigen is not available or enable])
+      enable_vala_ext=no
+    ])],
+  [no],[
+    VAPIGEN_CHECK([0.16],[0.16])
+  ])
+AM_CONDITIONAL(ENABLE_VALA_EXTENSIONS, test "x$enable_vala_ext" = "xyes")
 
 dnl ******************************
 dnl Checks for libcrypto
diff --git a/libgda/Gda-5.0.gir b/libgda/Gda-5.0.gir
index 312b12d..9e96883 100644
--- a/libgda/Gda-5.0.gir
+++ b/libgda/Gda-5.0.gir
@@ -1997,6 +1997,11 @@ The execution failure of any statement has no impact on the execution of other s
 the connection has a transaction started and the failure invalidates the transaction (as decided by the database
 server).
 
+Note that for asynchronous calls to succeed, it is gererally necessary to specify the
+%GDA_CONNECTION_OPTIONS_THREAD_ISOLATED flag when opening the connection to be sure it is opened in a separate thread
+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).
+
 but any other error)</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</doc>
@@ -3333,6 +3338,15 @@ The equivalent SQL command is: UPDATE &amp;lt;table&amp;gt; SET &amp;lt;column_n
 be fetched using gda_connection_get_events().</doc>
         <type name="gint"/>
       </property>
+      <property name="execution-slowdown"
+                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
+debug some problems. If non zero, this value is the number of microseconds waited before actually
+executing each query.</doc>
+        <type name="guint"/>
+      </property>
       <property name="execution-timer"
                 version="4.2.9"
                 writable="1"
@@ -3648,8 +3662,10 @@ This function should not be called directly</doc>
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
-          <parameter name="description" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a description.</doc>
+          <parameter name="description"
+                     transfer-ownership="none"
+                     allow-none="1">
+            <doc xml:whitespace="preserve">a description, or %NULL (to unset current description if any)</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
         </parameters>
@@ -7504,235 +7520,6 @@ 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:whitespace="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:whitespace="preserve">a new #GdaDataModelLdap object</doc>
-          <type name="DataModelLdap" c:type="GdaDataModelLdap*"/>
-        </return-value>
-        <parameters>
-          <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="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" allow-none="1">
-            <doc xml:whitespace="preserve">the base DN to search on, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="filter" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an LDAP filter, for example "(objectClass=*)"</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="attributes"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="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="gchar*"/>
-          </parameter>
-          <parameter name="scope" transfer-ownership="none">
-            <doc xml:whitespace="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:whitespace="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:whitespace="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:whitespace="preserve">a #GdaConnection</doc>
-            <type name="Connection" c:type="GdaConnection*"/>
-          </parameter>
-          <parameter name="attributes"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">a string describing which LDAP attributes to retreive, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="new"
-                c:identifier="gda_data_model_ldap_new"
-                version="4.2.8"
-                deprecated="use #gda_data_model_ldap_new_with_config"
-                deprecated-version="5.2">
-        <doc xml:whitespace="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>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
-          <type name="DataModel" c:type="GdaDataModel*"/>
-        </return-value>
-        <parameters>
-          <parameter name="cnc" transfer-ownership="none">
-            <doc xml:whitespace="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" allow-none="1">
-            <doc xml:whitespace="preserve">the base DN to search on, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="filter" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an LDAP filter, for example "(objectClass=*)"</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="attributes"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="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="gchar*"/>
-          </parameter>
-          <parameter name="scope" transfer-ownership="none">
-            <doc xml:whitespace="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"/>
-      </property>
-      <property name="base"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <type name="utf8"/>
-      </property>
-      <property name="cnc"
-                introspectable="0"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <type/>
-      </property>
-      <property name="filter"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <type name="utf8"/>
-      </property>
-      <property name="scope"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <type name="gint"/>
-      </property>
-      <property name="use-rdn" writable="1" transfer-ownership="none">
-        <type name="gboolean"/>
-      </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"
@@ -8084,7 +7871,9 @@ occurs, then it is possible that not all the changes to all the rows have been a
       <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
-as it was just after creation).</doc>
+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>
           <type name="gboolean" c:type="gboolean"/>
@@ -8413,6 +8202,22 @@ To remove the chunking of the data to display, simply pass @sample_size the %0 v
           </parameter>
         </parameters>
       </method>
+      <property name="cache-changes"
+                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
+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.
+
+If set to %TRUE, each cached change will be re-applied to a newly set proxied data model if
+the change's number of columns match the proxied data model's number of columns and based on:
+&lt;itemizedlist&gt;
+&lt;listitem&gt;&lt;para&gt;the contents of the proxied data model's modified row for updates and deletes&lt;/para&gt;&lt;/listitem&gt;
+&lt;listitem&gt;&lt;para&gt;the inserts are always kept&lt;/para&gt;&lt;/listitem&gt;
+&lt;/itemizedlist&gt;</doc>
+        <type name="gboolean"/>
+      </property>
       <property name="defer-sync" writable="1" transfer-ownership="none">
         <type name="gboolean"/>
       </property>
@@ -8820,6 +8625,31 @@ if the table used does not have any primary key, then this method will fail</doc
           <type name="Connection" c:type="GdaConnection*"/>
         </return-value>
       </method>
+      <method name="prepare_for_offline"
+              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
+side (and that no subsquent call to the server will be necessary to access that data), at the cost of
+a higher memory consumption.
+
+This method is useful in the following situations:
+&lt;itemizedlist&gt;
+&lt;listitem&gt;&lt;para&gt;You need to disconnect from the server and continue to use the data in the data model&lt;/para&gt;&lt;/listitem&gt;
+&lt;listitem&gt;&lt;para&gt;You need to make sure the data in the data model can be used even though the connection to the server may be used for other purposes (for example executing other queries)&lt;/para&gt;&lt;/listitem&gt;
+&lt;/itemizedlist&gt;
+
+Note that this method will fail if:
+&lt;itemizedlist&gt;
+&lt;listitem&gt;&lt;para&gt;the data model contains any blobs (because blobs reading requires acces to the server);
+binary values are Ok, though.&lt;/para&gt;&lt;/listitem&gt;
+&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>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+      </method>
       <method name="rerun"
               c:identifier="gda_data_select_rerun"
               version="4.2"
@@ -10388,14 +10218,6 @@ otherwise.</doc>
     </enumeration>
     <record name="HolderPrivate" c:type="GdaHolderPrivate" disguised="1">
     </record>
-    <enumeration name="LdapSearchScope" c:type="GdaLdapSearchScope">
-      <doc xml:whitespace="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"/>
-      <member name="onelevel"
-              value="2"
-              c:identifier="GDA_LDAP_SEARCH_ONELEVEL"/>
-      <member name="subtree" value="3" c:identifier="GDA_LDAP_SEARCH_SUBTREE"/>
-    </enumeration>
     <interface name="Lockable"
                c:symbol-prefix="lockable"
                c:type="GdaLockable"
@@ -19150,6 +18972,12 @@ This structure represents the name of a table's field.</doc>
       <member name="ilike"
               value="30"
               c:identifier="GDA_SQL_OPERATOR_TYPE_ILIKE"/>
+      <member name="notlike"
+              value="31"
+              c:identifier="GDA_SQL_OPERATOR_TYPE_NOTLIKE"/>
+      <member name="notilike"
+              value="32"
+              c:identifier="GDA_SQL_OPERATOR_TYPE_NOTILIKE"/>
     </enumeration>
     <class name="SqlParser"
            c:symbol-prefix="sql_parser"
@@ -19490,6 +19318,7 @@ 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>
       <field name="flags" writable="1">
         <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
       </field>
@@ -20792,6 +20621,9 @@ of @stmt have been verified (emitted after gda_statement_check_validity()).</doc
       <member name="allow_noparam"
               value="8"
               c:identifier="GDA_STATEMENT_MODEL_ALLOW_NOPARAM"/>
+      <member name="offline"
+              value="16"
+              c:identifier="GDA_STATEMENT_MODEL_OFFLINE"/>
     </bitfield>
     <record name="StatementPrivate" c:type="GdaStatementPrivate" disguised="1">
     </record>
@@ -22463,65 +22295,6 @@ 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:whitespace="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:whitespace="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>
-            <type name="Connection" c:type="GdaConnection*"/>
-          </parameter>
-          <parameter name="dn" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">an LDAP Distinguished Name or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <property name="connection"
-                introspectable="0"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the #GdaLdapConnection to get information from.</doc>
-        <type/>
-      </property>
-      <property name="dn"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Defines the Distinguised Name of the LDAP entry to list children from</doc>
-        <type name="utf8"/>
-      </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"
diff --git a/libgda/Makefile.am b/libgda/Makefile.am
index 9530b9c..8fcc564 100644
--- a/libgda/Makefile.am
+++ b/libgda/Makefile.am
@@ -366,14 +366,14 @@ typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
 CLEANFILES += $(typelibs_DATA)
 endif
 
-if ENABLE_VALA
+if ENABLE_VAPIGEN
 
 vapi: libgda-5.0.vapi
 
 libgda-5.0.vapi: Gda-5.0.gir
 	$(VAPIGEN) --metadatadir=$(top_srcdir)/libgda --library libgda-5.0 --pkg libxml-2.0 Gda-5.0.gir
 
-vapidir = $(VAPIDIR)
+vapidir = $(VAPIGEN_VAPIDIR)
 vapi_DATA=libgda-5.0.vapi
 
 EXTRA_DIST += \
diff --git a/libgda/data/GdaData-5.0.gir b/libgda/data/GdaData-5.0.gir
index 3d0b7d3..84f1f4d 100644
--- a/libgda/data/GdaData-5.0.gir
+++ b/libgda/data/GdaData-5.0.gir
@@ -133,6 +133,9 @@
 			</type>
 		</field>
 		<constructor name="with_fields_info" c:identifier="gda_data_table_new_with_fields_info">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.Table" c:type="GdaDataTable*"/>
+			</return-value>
 			<parameters>
 				<parameter name="fields" transfer-ownership="none">
 					<type name="Gee.HashMap" c:type="GeeHashMap*">
@@ -141,9 +144,6 @@
 					</type>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.Table" c:type="GdaDataTable*"/>
-			</return-value>
 		</constructor>
 		<constructor name="new" c:identifier="gda_data_table_new">
 			<return-value transfer-ownership="full">
@@ -200,6 +200,9 @@
 			<type name="RecordCollectionPrivate" c:type="GdaDataRecordCollectionPrivate*"/>
 		</field>
 		<constructor name="new" c:identifier="gda_data_record_collection_new">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.RecordCollection" c:type="GdaDataRecordCollection*"/>
+			</return-value>
 			<parameters>
 				<parameter name="m" transfer-ownership="none">
 					<type name="Gda.DataModel" c:type="GdaDataModel*"/>
@@ -208,9 +211,6 @@
 					<type name="GdaData.DbTable" c:type="GdaDataDbTable*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.RecordCollection" c:type="GdaDataRecordCollection*"/>
-			</return-value>
 		</constructor>
 		<method name="to_string" c:identifier="gda_data_record_collection_to_string">
 			<return-value transfer-ownership="full">
@@ -237,6 +237,9 @@
 			<type name="RecordCollectionIteratorPrivate" c:type="GdaDataRecordCollectionIteratorPrivate*"/>
 		</field>
 		<constructor name="new" c:identifier="gda_data_record_collection_iterator_new">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.RecordCollectionIterator" c:type="GdaDataRecordCollectionIterator*"/>
+			</return-value>
 			<parameters>
 				<parameter name="iter" transfer-ownership="none">
 					<type name="Gda.DataModelIter" c:type="GdaDataModelIter*"/>
@@ -245,9 +248,6 @@
 					<type name="GdaData.DbTable" c:type="GdaDataDbTable*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.RecordCollectionIterator" c:type="GdaDataRecordCollectionIterator*"/>
-			</return-value>
 		</constructor>
 	</class>
 	<record name="RecordCollectionIteratorClass" c:type="GdaDataRecordCollectionIteratorClass" glib:is-gtype-struct-for="RecordCollectionIterator">
@@ -265,6 +265,9 @@
 			<type name="FieldPrivate" c:type="GdaDataFieldPrivate*"/>
 		</field>
 		<constructor name="new" c:identifier="gda_data_field_new">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.Field" c:type="GdaDataField*"/>
+			</return-value>
 			<parameters>
 				<parameter name="col_name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
@@ -273,9 +276,6 @@
 					<type name="GdaData.DbFieldAttribute" c:type="GdaDataDbFieldAttribute"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.Field" c:type="GdaDataField*"/>
-			</return-value>
 		</constructor>
 	</class>
 	<record name="FieldClass" c:type="GdaDataFieldClass" glib:is-gtype-struct-for="Field">
@@ -337,24 +337,24 @@
 			</return-value>
 		</virtual-method>
 		<method name="drop" c:identifier="gda_data_db_object_drop" throws="1">
+			<return-value transfer-ownership="full">
+				<type name="none"/>
+			</return-value>
 			<parameters>
 				<parameter name="cascade" transfer-ownership="none">
 					<type name="gboolean" c:type="gboolean"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="drop" invoker="drop" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</method>
-		<virtual-method name="drop" invoker="drop" throws="1">
 			<parameters>
 				<parameter name="cascade" transfer-ownership="none">
 					<type name="gboolean" c:type="gboolean"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="none"/>
-			</return-value>
 		</virtual-method>
 		<property name="connection" writable="1">
 			<type name="Gda.Connection" c:type="GdaConnection*"/>
@@ -369,42 +369,45 @@
 		</field>
 		<field name="append">
 			<callback name="append" c:type="append" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbObject" c:type="GdaDataDbObject*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="update">
 			<callback name="update" c:type="update" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbObject" c:type="GdaDataDbObject*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="save">
 			<callback name="save" c:type="save" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbObject" c:type="GdaDataDbObject*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="drop">
 			<callback name="drop" c:type="drop" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbObject" c:type="GdaDataDbObject*"/>
@@ -413,9 +416,6 @@
 						<type name="gboolean" c:type="gboolean"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 	</record>
@@ -466,54 +466,54 @@
 		<prerequisite name="GdaData.DbObject"/>
 		<prerequisite name="GdaData.DbNamedObject"/>
 		<method name="set_field" c:identifier="gda_data_db_table_set_field" throws="1">
+			<return-value transfer-ownership="full">
+				<type name="none"/>
+			</return-value>
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="set_field" invoker="set_field" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</method>
-		<virtual-method name="set_field" invoker="set_field" throws="1">
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="none"/>
-			</return-value>
 		</virtual-method>
 		<method name="get_field" c:identifier="gda_data_db_table_get_field" throws="1">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
+			</return-value>
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="get_field" invoker="get_field" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
 			</return-value>
-		</method>
-		<virtual-method name="get_field" invoker="get_field" throws="1">
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
-			</return-value>
 		</virtual-method>
 		<function name="type_from_string" c:identifier="gda_data_db_table_type_from_string">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.DbTableTableType" c:type="GdaDataDbTableTableType"/>
+			</return-value>
 			<parameters>
 				<parameter name="str" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.DbTableTableType" c:type="GdaDataDbTableTableType"/>
-			</return-value>
 		</function>
 		<property name="catalog" writable="1">
 			<type name="GdaData.DbCatalog" c:type="GdaDataDbCatalog*"/>
@@ -556,6 +556,9 @@
 		</field>
 		<field name="set_field">
 			<callback name="set_field" c:type="set_field" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbTable" c:type="GdaDataDbTable*"/>
@@ -564,13 +567,13 @@
 						<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="get_field">
 			<callback name="get_field" c:type="get_field" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbTable" c:type="GdaDataDbTable*"/>
@@ -579,9 +582,6 @@
 						<type name="utf8" c:type="const gchar*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="GdaData.DbFieldInfo" c:type="GdaDataDbFieldInfo*"/>
-				</return-value>
 			</callback>
 		</field>
 	</record>
@@ -600,46 +600,49 @@
 		<prerequisite name="GdaData.DbObject"/>
 		<prerequisite name="Gee.Comparable"/>
 		<method name="get_value" c:identifier="gda_data_db_record_get_value" throws="1">
+			<return-value transfer-ownership="full" allow-none="1">
+				<type name="GObject.Value" c:type="GValue*"/>
+			</return-value>
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="get_value" invoker="get_value" throws="1">
 			<return-value transfer-ownership="full" allow-none="1">
 				<type name="GObject.Value" c:type="GValue*"/>
 			</return-value>
-		</method>
-		<virtual-method name="get_value" invoker="get_value" throws="1">
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full" allow-none="1">
-				<type name="GObject.Value" c:type="GValue*"/>
-			</return-value>
 		</virtual-method>
 		<method name="set_field" c:identifier="gda_data_db_record_set_field" throws="1">
+			<return-value transfer-ownership="full">
+				<type name="none"/>
+			</return-value>
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="set_field" invoker="set_field" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</method>
-		<virtual-method name="set_field" invoker="set_field" throws="1">
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 				</parameter>
 			</parameters>
+		</virtual-method>
+		<method name="set_field_value" c:identifier="gda_data_db_record_set_field_value" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</virtual-method>
-		<method name="set_field_value" c:identifier="gda_data_db_record_set_field_value" throws="1">
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
@@ -648,11 +651,11 @@
 					<type name="GObject.Value" c:type="GValue*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="set_field_value" invoker="set_field_value" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</method>
-		<virtual-method name="set_field_value" invoker="set_field_value" throws="1">
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
@@ -661,51 +664,51 @@
 					<type name="GObject.Value" c:type="GValue*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="none"/>
-			</return-value>
 		</virtual-method>
 		<method name="get_field" c:identifier="gda_data_db_record_get_field" throws="1">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
+			</return-value>
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="get_field" invoker="get_field" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 			</return-value>
-		</method>
-		<virtual-method name="get_field" invoker="get_field" throws="1">
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
-			</return-value>
 		</virtual-method>
 		<method name="set_key" c:identifier="gda_data_db_record_set_key" throws="1">
+			<return-value transfer-ownership="full">
+				<type name="none"/>
+			</return-value>
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="set_key" invoker="set_key" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</method>
-		<virtual-method name="set_key" invoker="set_key" throws="1">
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 				</parameter>
 			</parameters>
+		</virtual-method>
+		<method name="set_key_value" c:identifier="gda_data_db_record_set_key_value" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</virtual-method>
-		<method name="set_key_value" c:identifier="gda_data_db_record_set_key_value" throws="1">
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
@@ -714,11 +717,11 @@
 					<type name="GObject.Value" c:type="GValue*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="set_key_value" invoker="set_key_value" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="none"/>
 			</return-value>
-		</method>
-		<virtual-method name="set_key_value" invoker="set_key_value" throws="1">
 			<parameters>
 				<parameter name="field" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
@@ -727,29 +730,26 @@
 					<type name="GObject.Value" c:type="GValue*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="none"/>
-			</return-value>
 		</virtual-method>
 		<method name="get_key" c:identifier="gda_data_db_record_get_key" throws="1">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
+			</return-value>
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
+		</method>
+		<virtual-method name="get_key" invoker="get_key" throws="1">
 			<return-value transfer-ownership="full">
 				<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 			</return-value>
-		</method>
-		<virtual-method name="get_key" invoker="get_key" throws="1">
 			<parameters>
 				<parameter name="name" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
-			</return-value>
 		</virtual-method>
 		<method name="to_string" c:identifier="gda_data_db_record_to_string">
 			<return-value transfer-ownership="full">
@@ -781,6 +781,9 @@
 		</field>
 		<field name="get_value">
 			<callback name="get_value" c:type="get_value" throws="1">
+				<return-value transfer-ownership="full" allow-none="1">
+					<type name="GObject.Value" c:type="GValue*"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
@@ -789,13 +792,13 @@
 						<type name="utf8" c:type="const gchar*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full" allow-none="1">
-					<type name="GObject.Value" c:type="GValue*"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="set_field">
 			<callback name="set_field" c:type="set_field" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
@@ -804,13 +807,13 @@
 						<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="set_field_value">
 			<callback name="set_field_value" c:type="set_field_value" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
@@ -822,13 +825,13 @@
 						<type name="GObject.Value" c:type="GValue*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="get_field">
 			<callback name="get_field" c:type="get_field" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
@@ -837,13 +840,13 @@
 						<type name="utf8" c:type="const gchar*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="set_key">
 			<callback name="set_key" c:type="set_key" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
@@ -852,13 +855,13 @@
 						<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="set_key_value">
 			<callback name="set_key_value" c:type="set_key_value" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="none"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
@@ -870,13 +873,13 @@
 						<type name="GObject.Value" c:type="GValue*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="none"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="get_key">
 			<callback name="get_key" c:type="get_key" throws="1">
+				<return-value transfer-ownership="full">
+					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
@@ -885,21 +888,18 @@
 						<type name="utf8" c:type="const gchar*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
-				</return-value>
 			</callback>
 		</field>
 		<field name="to_string">
 			<callback name="to_string" c:type="to_string">
+				<return-value transfer-ownership="full">
+					<type name="utf8" c:type="gchar*"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbRecord" c:type="GdaDataDbRecord*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="utf8" c:type="gchar*"/>
-				</return-value>
 			</callback>
 		</field>
 	</record>
@@ -916,6 +916,9 @@
 			</return-value>
 		</virtual-method>
 		<function name="value_from_string" c:identifier="gda_data_db_field_value_from_string">
+			<return-value transfer-ownership="full" allow-none="1">
+				<type name="GObject.Value" c:type="GValue*"/>
+			</return-value>
 			<parameters>
 				<parameter name="as_string" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
@@ -924,9 +927,6 @@
 					<type name="GObject.Type" c:type="GType"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full" allow-none="1">
-				<type name="GObject.Value" c:type="GValue*"/>
-			</return-value>
 		</function>
 		<property name="value" writable="1">
 			<type name="GObject.Value" c:type="GValue*"/>
@@ -947,14 +947,14 @@
 		</field>
 		<field name="to_string">
 			<callback name="to_string" c:type="to_string">
+				<return-value transfer-ownership="full">
+					<type name="utf8" c:type="gchar*"/>
+				</return-value>
 				<parameters>
 					<parameter name="self" transfer-ownership="none">
 						<type name="GdaData.DbField" c:type="GdaDataDbField*"/>
 					</parameter>
 				</parameters>
-				<return-value transfer-ownership="full">
-					<type name="utf8" c:type="gchar*"/>
-				</return-value>
 			</callback>
 		</field>
 	</record>
@@ -974,14 +974,14 @@
 	<interface name="DbFieldInfo" c:type="GdaDataDbFieldInfo" glib:type-name="GdaDataDbFieldInfo" glib:get-type="gda_data_db_field_info_get_type" glib:type-struct="DbFieldInfoIface">
 		<prerequisite name="GObject.Object"/>
 		<function name="attribute_from_string" c:identifier="gda_data_db_field_info_attribute_from_string">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.DbFieldInfoAttribute" c:type="GdaDataDbFieldInfoAttribute"/>
+			</return-value>
 			<parameters>
 				<parameter name="str" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.DbFieldInfoAttribute" c:type="GdaDataDbFieldInfoAttribute"/>
-			</return-value>
 		</function>
 		<property name="ordinal" writable="1">
 			<type name="gint" c:type="gint"/>
@@ -1033,34 +1033,34 @@
 			</return-value>
 		</constructor>
 		<function name="match_from_string" c:identifier="gda_data_db_field_info_foreign_key_match_from_string">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.DbFieldInfoForeignKeyMatch" c:type="GdaDataDbFieldInfoForeignKeyMatch"/>
+			</return-value>
 			<parameters>
 				<parameter name="str" transfer-ownership="none">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.DbFieldInfoForeignKeyMatch" c:type="GdaDataDbFieldInfoForeignKeyMatch"/>
-			</return-value>
 		</function>
 		<function name="rule_from_string" c:identifier="gda_data_db_field_info_foreign_key_rule_from_string">
+			<return-value transfer-ownership="full">
+				<type name="GdaData.DbFieldInfoForeignKeyRule" c:type="GdaDataDbFieldInfoForeignKeyRule"/>
+			</return-value>
 			<parameters>
 				<parameter name="str" transfer-ownership="none" allow-none="1">
 					<type name="utf8" c:type="const gchar*"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="GdaData.DbFieldInfoForeignKeyRule" c:type="GdaDataDbFieldInfoForeignKeyRule"/>
-			</return-value>
 		</function>
 		<function name="rule_to_string" c:identifier="gda_data_db_field_info_foreign_key_rule_to_string">
+			<return-value transfer-ownership="full">
+				<type name="utf8" c:type="gchar*"/>
+			</return-value>
 			<parameters>
 				<parameter name="r" transfer-ownership="none">
 					<type name="GdaData.DbFieldInfoForeignKeyRule" c:type="GdaDataDbFieldInfoForeignKeyRule"/>
 				</parameter>
 			</parameters>
-			<return-value transfer-ownership="full">
-				<type name="utf8" c:type="gchar*"/>
-			</return-value>
 		</function>
 		<property name="name" writable="1">
 			<type name="utf8" c:type="gchar*"/>
diff --git a/libgda/data/Makefile.am b/libgda/data/Makefile.am
index 8a1d4fc..e19ac2c 100644
--- a/libgda/data/Makefile.am
+++ b/libgda/data/Makefile.am
@@ -1,19 +1,17 @@
 NULL =
+CLEANFILES = 
 
 AM_CPPFLAGS = \
 	-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
 	-DPACKAGE_SRC_DIR=\""$(srcdir)"\" \
 	-DPACKAGE_DATA_DIR=\""$(datadir)"\" 
 
-BUILT_SOURCES = gdadata.vala.stamp
-CLEANFILES = gdadata.vala.stamp
-
 AM_CFLAGS =\
 	 -Wall\
 	 -g \
 	 -I$(top_srcdir) -I$(srcdir)/.. \
-        -I$(top_builddir) \
-    -I$(top_builddir)/libgda/data \
+     -I$(top_builddir) \
+     -I$(top_builddir)/libgda/data \
     $(COREDEPS_CFLAGS) \
     $(LIBGDA_WFLAGDS) \
     $(LIBGDA_CFLAGS) \
@@ -30,6 +28,9 @@ VALAFLAGS = \
     --pkg libxml-2.0 \
     --pkg gee-0.8 \
     --pkg libgda-5.0 \
+    -C -H libgdadata.h \
+    --gir=GdaData-5.0.gir \
+    --library gdadata-5.0 \
     $(NULL)
 
 object_persistance_sources = \
@@ -68,8 +69,7 @@ libgdadata_5_0_la_VALASOURCES = \
 	$(NULL)
 
 libgdadata_5_0_la_SOURCES = \
-	gdadata.vala.stamp \
-	$(libgdadata_5_0_la_VALASOURCES:.vala=.c) \
+	$(libgdadata_5_0_la_VALASOURCES) \
 	$(NULL)	
 
 vapi: gdadata-5.0.vapi
@@ -77,9 +77,7 @@ vapi: gdadata-5.0.vapi
 vapidir = $(VAPIDIR)
 vapi_DATA = gdadata-5.0.vapi
 
-gdadata-5.0.vapi gdadata.vala.stamp GdaData-5.0.gir: $(libgdadata_5_0_la_VALASOURCES)
-	$(VALA_COMPILER) $(VALAFLAGS) -C -H libgdadata.h --gir=GdaData-5.0.gir --library gdadata-5.0 $^
-	@touch $@
+gdadata-5.0.vapi GdaData-5.0.gir: libgdadata-5.0.la
 
 CLEANFILES+= gdadata-5.0.vapi
 
@@ -137,9 +135,9 @@ CLEANFILES += \
 
 EXTRA_DIST = \
 	libgdadata-5.0.pc \
-	$(libgdadata_5_0_la_VALASOURCES) \
+	$(libgdadata_5_0_la_VALASOURCES:.vala=.c) \
 	$(vapi_DATA) \
 	$(INTROSPECTION_GIRS) \
 	$(typelibs_DATA) \
-	gdadata.vala.stamp
+	$(NULL)
 
diff --git a/libgda/data/Record.vala b/libgda/data/Record.vala
index a6f456c..8d1a17a 100644
--- a/libgda/data/Record.vala
+++ b/libgda/data/Record.vala
@@ -227,7 +227,6 @@ namespace GdaData {
 			var sql = new SqlBuilder (SqlStatementType.DELETE);
 			sql.set_table (table.name);
 			SqlBuilderId cond = -1;
-			int pn = 0;
         	foreach (DbField f in keys) {
 				var fid = sql.add_id (f.column_name);
 				var vid = sql.add_expr_value (null, f.value);
diff --git a/libgda/data/RecordCollection.vala b/libgda/data/RecordCollection.vala
index feacf4e..3cf8f24 100644
--- a/libgda/data/RecordCollection.vala
+++ b/libgda/data/RecordCollection.vala
@@ -64,55 +64,55 @@ namespace GdaData {
 		public override bool contains (DbRecord item)
 		{
 			bool found = true;
-			try {
-				var iter = _model.create_iter ();
-				while (iter.move_next ()) {
-					foreach (DbField k in item.keys) {
+			var iter = _model.create_iter ();
+			while (iter.move_next ()) {
+				foreach (DbField k in item.keys) {
+					try {
 						Value id = iter.get_value_at (iter.data_model.get_column_index (k.name));
 						Value v = k.value;
 						if (Gda.value_compare (id,v) != 0)
 							found = false;
 					}
-					if (found) break;
+					catch (Error e) { 
+						GLib.warning (e.message); 
+						found = false;
+					}
 				}
-			}
-			catch (Error e) { 
-				GLib.warning (e.message); 
-				found = false;
+				if (found) break;
 			}
 			return found;
 		}
 		public override Gee.Iterator<DbRecord> iterator () 
 		{ 
 			Gda.DataModelIter iter;
-			try {
-				iter = _model.create_iter ();
-			}
-			catch (Error e) { GLib.warning (e.message); }
+			iter = _model.create_iter ();
 			return new RecordCollectionIterator (iter, _table); 
 		}
 		public override bool remove (DbRecord item)
 		{
-			try {
-				var iter = _model.create_iter ();
-				while (iter.move_next ()) {
-					bool found = true;
-					foreach (DbField k in item.keys) {
+			var iter = _model.create_iter ();
+			while (iter.move_next ()) {
+				bool found = true;
+				foreach (DbField k in item.keys) {
+					try {
 						Value id = iter.get_value_at (iter.data_model.get_column_index (k.name));
 						Value v = k.value;
 						if (Gda.value_compare (id,v) != 0)
 							found = false;
 					}
-					if (found) {
-						try {
-							_model.remove_row (iter.get_row ());
-							((DataProxy)_model).apply_all_changes ();
-							return true;
-						} catch {}
+					catch (Error e) { 
+						GLib.warning (e.message);
+						found = false;
 					}
 				}
+				if (found) {
+					try {
+						_model.remove_row (iter.get_row ());
+						((DataProxy)_model).apply_all_changes ();
+						return true;
+					} catch {}
+				}
 			}
-			catch (Error e) { GLib.warning (e.message); }
 			return false;
 		}
 		public override bool read_only { 
@@ -131,19 +131,6 @@ namespace GdaData {
 				return _model.get_n_rows ();
 			} 
 		}
-		// Traversable Interface
-		public override Iterator<DbRecord> chop (int offset, int length = -1)
-		{
-			return this.iterator().chop (offset, length);
-		}
-		public override Gee.Iterator<DbRecord> filter (owned Gee.Predicate<DbRecord<Value?>> f)
-		{
-			return this.iterator().filter (f);			
-		}
-		public override Iterator<A> stream<A> (owned StreamFunc<DbRecord, A> f)
-		{
-			return this.iterator().stream<A> (f);
-		}
 		// 
 		public string to_string ()
 		{
@@ -213,16 +200,14 @@ namespace GdaData {
 			var iter = _iter.data_model.create_iter ();
 			return new RecordCollectionIterator.filtered (iter, _table, -1, 0, -1, elements, -1);
 		}
-		public new void @foreach (Gee.ForallFunc<DbRecord> f) 
-		{
-			while (this.next ()) {
-				var r = this.get ();
-				f(r);
-			}
-		}
-		public Gee.Iterator<A> stream<A> (owned Gee.StreamFunc<DbRecord,A> f) 
+		public new bool @foreach (Gee.ForallFunc<DbRecord> f) 
 		{
-			return stream_impl<DbRecord, A> (this, f);
+			var r = this.get ();
+			bool ret = f(r);
+			if (ret && this.next ())
+				return true;
+			else
+				return false; 
 		}
 		
 		// Iterator Interface
@@ -251,17 +236,14 @@ namespace GdaData {
 		}
 		public bool next () 
 		{ 
-			try {
-				if (this.has_next ()) {
-					if (_elements.size > 0) {
-						_iter.move_to_row (_elements.get (++filter_pos));
-						return true;
-					}
-					else
-						return _iter.move_next ();
+			if (this.has_next ()) {
+				if (_elements.size > 0) {
+					_iter.move_to_row (_elements.get (++filter_pos));
+					return true;
 				}
+				else
+					return _iter.move_next ();
 			}
-			catch (Error e) { GLib.message (e.message); }
 			return false;
 		}
 		public void remove () 
diff --git a/m4/vapigen.m4 b/m4/vapigen.m4
new file mode 100644
index 0000000..d51bab3
--- /dev/null
+++ b/m4/vapigen.m4
@@ -0,0 +1,129 @@
+dnl vapigen.m4
+dnl
+dnl Copyright 2012 Evan Nemerson
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2.1 of the License, or (at your option) any later version.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with this library; if not, write to the Free Software
+dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+
+# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND-INTROSPECTION], [DEFAULT])
+# --------------------------------------
+# Check vapigen existence and version
+#
+# See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation
+AC_DEFUN([VAPIGEN_CHECK],
+[
+  AC_BEFORE([GOBJECT_INTROSPECTION_CHECK],[$0])
+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+  AC_REQUIRE([AM_PROG_VALAC])
+  
+  AC_ARG_ENABLE([vala],
+    [AS_HELP_STRING([--enable-vala[=@<:@no/auto/yes@:>@]],[build Vala bindings @<:@default=]ifelse($4,,auto,$4)[@:>@])],,[
+      AS_IF([test "x$4" = "x"], [
+          enable_vala=auto
+        ], [
+          enable_vala=$4
+        ])
+    ])
+
+  AS_CASE([$enable_vala], [no], [enable_vala=no],
+      [yes], [
+        AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
+            AC_MSG_ERROR([Vala bindings require GObject Introspection])
+          ])
+      ], [auto], [
+        AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
+            enable_vala=no
+          ])
+      ], [
+        AC_MSG_ERROR([Invalid argument passed to --enable-vala, should be one of @<:@no/auto/yes@:>@])
+      ])
+
+  AS_IF([ test "x$2" = "x"], [
+      vapigen_pkg_name=vapigen
+    ], [
+      vapigen_pkg_name=vapigen-$2
+    ])
+  AS_IF([ test "x$1" = "x"], [
+      vapigen_pkg="$vapigen_pkg_name"
+    ], [
+      vapigen_pkg="$vapigen_pkg_name >= $1"
+    ])
+  
+  PKG_CHECK_EXISTS([$vapigen_pkg], [
+      AS_IF([test "$enable_vala" = "auto"], [
+          vapigen_pkg_found=yes
+        ])
+    ], [
+          vapigen_pkg_found=no
+          AC_PATH_PROG(VAPIGEN, [$vapigen_pkg_name], [no])
+          if test "x$VAPIGEN" = "xno"
+          then
+            check_prog=no
+          else
+            check_prog=yes
+          fi
+    ])
+  
+  AC_MSG_CHECKING([for vapigen])
+  
+  AS_CASE([$vapigen_pkg_found],
+    [yes], [
+        VAPIGEN=`$PKG_CONFIG --variable=vapigen vapigen`
+        VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir vapigen`/vala/Makefile.vapigen
+        AS_IF([test "x$2" = "x"], [
+            VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir vapigen`
+          ], [
+            VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir_versioned vapigen`
+          ])
+      ],
+      [no], [
+      AS_CASE([$check_prog],[no],[
+          AC_MSG_ERROR([Can't locate $vapigen_pkg])
+        ], [yes], [
+          AS_IF([test "x$2" = "x"], [
+              vala_pkg_name=libvala
+            ], [
+              vala_pkg_name=libvala-$2
+            ])
+          AS_IF([test "x$1" = "x"], [
+              vala_pkg="$vala_pkg_name"
+            ], [
+              vala_pkg="$vala_pkg_name >= $1"
+            ])
+          PKG_CHECK_EXISTS([$vala_pkg], [
+              AS_IF([test "$enable_vala" = "auto"], [
+                  VALA_DATADIR=`pkg-config $vala_pkg --variable=datadir`
+                  VAPIGEN_VAPIDIR="$VALA_DATADIR/vala/vapi"
+                  VAPIGEN_MAKEFILE="$VALA_DATADIR/vala/Makefile.vapigen"
+                  vapigen_pkg_found=yes
+                ])
+            ], [
+              AS_CASE([$enable_vala], [yes], [
+                  AC_MSG_ERROR([$vala_pkg not found])
+                ], [auto], [
+                  vapigen_pkg_found=no
+                ])
+            ])
+       ])
+    ])
+
+  AC_MSG_RESULT([$vapigen_pkg_found])
+
+  AC_SUBST([VAPIGEN])
+  AC_SUBST([VAPIGEN_VAPIDIR])
+  AC_SUBST([VAPIGEN_MAKEFILE])
+
+  AM_CONDITIONAL(ENABLE_VAPIGEN, test "x$vapigen_pkg_found" = "xyes")
+])
+
diff --git a/tests/vala/Makefile.am b/tests/vala/Makefile.am
index 0e63670..6744b08 100644
--- a/tests/vala/Makefile.am
+++ b/tests/vala/Makefile.am
@@ -39,58 +39,30 @@ VALAFLAGS = \
     --vapidir=$(VAPIDIR) \
     $(NULL)
 
-check_dataobject_VALASOURCES = \
+check_dataobject_SOURCES = \
 	CheckDataObject.vala \
 	$(NULL)
 
-check_datamodeliterator_VALASOURCES = \
+check_datamodeliterator_SOURCES = \
 	CheckDataModelIterator.vala \
 	$(NULL)
 
-check_table_VALASOURCES = \
+check_table_SOURCES = \
 	CheckTable.vala \
 	$(NULL)
 
-check_dataobject.vala.stamp: $(check_dataobject_VALASOURCES)
-	$(VALA_COMPILER) $(VALAFLAGS) -C -H check_dataobject.h $^
-	@touch $@
-
-check_datamodeliterator.vala.stamp: $(check_datamodeliterator_VALASOURCES)
-	$(VALA_COMPILER) $(VALAFLAGS) -C -H check_datamodeliterator.h $^
-	@touch $@
-
-check_table.vala.stamp: $(check_table_VALASOURCES)
-	$(VALA_COMPILER) $(VALAFLAGS) -C -H check_table.h $^
-	@touch $@
-
-check_dataobject_SOURCES = $(check_dataobject_VALASOURCES:.vala=.c) check_dataobject.h
-check_dataobject_CFLAGS= \
-    -I$(top_builddir) \
-    -I$(top_builddir)/libgda/data \
-    $(NULL)
 check_dataobject_LDADD = \
 	$(top_builddir)/libgda/libgda-5.0.la \
 	$(top_builddir)/libgda/data/libgdadata-5.0.la \
 	$(COREDEPS_LIBS) \
 	$(GEE_LIBS)
 
-check_datamodeliterator_SOURCES = $(check_datamodeliterator_VALASOURCES:.vala=.c) check_datamodeliterator.h
-check_datamodeliterator_CFLAGS= \
-	-I$(top_builddir) \
-	-I$(top_builddir)/libgda/data \
-	$(NULL)
 check_datamodeliterator_LDADD = \
 	$(top_builddir)/libgda/libgda-5.0.la \
 	$(top_builddir)/libgda/data/libgdadata-5.0.la \
 	$(COREDEPS_LIBS) \
 	$(GEE_LIBS)
 
-
-check_table_SOURCES = $(check_table_VALASOURCES:.vala=.c) check_table.h
-check_table_CFLAGS= \
-    -I$(top_builddir) \
-    -I$(top_builddir)/libgda/data \
-    $(NULL)
 check_table_LDADD = \
 	$(top_builddir)/libgda/libgda-5.0.la \
 	$(top_builddir)/libgda/data/libgdadata-5.0.la \
@@ -98,12 +70,6 @@ check_table_LDADD = \
 	$(GEE_LIBS)
 
 CLEANFILES += \
-    $(check_dataobject_VALASOURCES:.vala=.c) \
-    check_dataobject.h \
-    $(check_datamodeliterator_VALASOURCES:.vala=.c) \
-    check_datamodeliterator.h \
-    $(check_table_VALASOURCES:.vala=.c) \
-    check_table.h \
     dataobject.db \
     datamodeliterator.db \
     table.db \



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