libgda r3359 - in trunk: . doc/C doc/C/tmpl libgda po samples samples/Tree tools



Author: vivien
Date: Tue Mar 17 21:29:28 2009
New Revision: 3359
URL: http://svn.gnome.org/viewvc/libgda?rev=3359&view=rev

Log:
2009-03-17  Vivien Malerba <malerba gnome-db org>

	* tools/Makefile.am: set binaries extension to 4.1
	* Changelog: splitted changes before 4.0 to ChangeLog-pre-4.0
	* libgda/Makefile.am:
	* libgda/libgda.symbols:
	* libgda/libgda.h.in:
	* libgda/gda-decl.h:
	* libgda/gda-tree.[ch]:
	* libgda/gda-tree-node.[ch]:
	* libgda/gda-tree-manager.[ch]:
	* libgda/gda-tree-mgr-label.[ch]:
	* libgda/gda-tree-mgr-schemas.[ch]:
	* libgda/gda-tree-mgr-tables.[ch]:
	* libgda/gda-tree-mgr-columns.[ch]:
	* libgda/gda-tree-mgr-select.[ch]: new GdaTree and related implementation
	* Makefile.am:
	* samples/: added a Tree example to show how to use GdaTree
	* po/POTFILES.in: added new files
	* libgda/gda-set.h: doc. update
	* doc/C:
	  - doc. updates for GdaTree and related
	  - added a deprecated symbols section
	  - added new symbols for 4.2 section
	  - added version number


Added:
   trunk/ChangeLog-pre-4.0
   trunk/doc/C/tmpl/gda-tree-manager.sgml
   trunk/doc/C/tmpl/gda-tree-mgr-columns.sgml
   trunk/doc/C/tmpl/gda-tree-mgr-label.sgml
   trunk/doc/C/tmpl/gda-tree-mgr-schemas.sgml
   trunk/doc/C/tmpl/gda-tree-mgr-select.sgml
   trunk/doc/C/tmpl/gda-tree-mgr-tables.sgml
   trunk/doc/C/tmpl/gda-tree-node-dbio.sgml
   trunk/doc/C/tmpl/gda-tree-node.sgml
   trunk/doc/C/tmpl/gda-tree.sgml
   trunk/doc/C/tree-overview.dia   (contents, props changed)
   trunk/doc/C/tree-overview.png   (contents, props changed)
   trunk/doc/C/tree-overview2.dia   (contents, props changed)
   trunk/doc/C/tree-overview2.png   (contents, props changed)
   trunk/doc/C/version.xml.in
   trunk/libgda/gda-tree-manager.c
   trunk/libgda/gda-tree-manager.h
   trunk/libgda/gda-tree-mgr-columns.c
   trunk/libgda/gda-tree-mgr-columns.h
   trunk/libgda/gda-tree-mgr-label.c
   trunk/libgda/gda-tree-mgr-label.h
   trunk/libgda/gda-tree-mgr-schemas.c
   trunk/libgda/gda-tree-mgr-schemas.h
   trunk/libgda/gda-tree-mgr-select.c
   trunk/libgda/gda-tree-mgr-select.h
   trunk/libgda/gda-tree-mgr-tables.c
   trunk/libgda/gda-tree-mgr-tables.h
   trunk/libgda/gda-tree-node.c
   trunk/libgda/gda-tree-node.h
   trunk/libgda/gda-tree.c
   trunk/libgda/gda-tree.h
   trunk/samples/Tree/
   trunk/samples/Tree/Makefile
   trunk/samples/Tree/README
   trunk/samples/Tree/example.c
Modified:
   trunk/ChangeLog
   trunk/Makefile.am
   trunk/configure.in
   trunk/doc/C/   (props changed)
   trunk/doc/C/Makefile.am
   trunk/doc/C/libgda-4.0-docs.sgml
   trunk/doc/C/libgda-4.0-sections.txt
   trunk/doc/C/libgda-4.0.types.in
   trunk/doc/C/tmpl/gda-connection.sgml
   trunk/doc/C/tmpl/gda-set.sgml
   trunk/libgda/Makefile.am
   trunk/libgda/gda-decl.h
   trunk/libgda/gda-set.h
   trunk/libgda/libgda.h.in
   trunk/libgda/libgda.symbols
   trunk/po/POTFILES.in
   trunk/samples/Makefile
   trunk/samples/README
   trunk/tools/   (props changed)
   trunk/tools/Makefile.am

Added: trunk/ChangeLog-pre-4.0
==============================================================================
--- (empty file)
+++ trunk/ChangeLog-pre-4.0	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,14899 @@
+2009-03-16  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C: doc. fixes
+
+2009-03-15  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 4.0.0
+
+Released 3.99.14
+
+2009-03-14  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-config.c:
+	* tools/gda-sql.c:
+	* providers/jdbc/jni-wrapper.c: use the XDG Base Directory Specification to
+	get the directory where to store the defined data sources and fall back to
+	$HOME/.libgda if the directory does not exist
+	* tools/tools-input.c: store history file in $XDG_CACHE_HOME from
+	the XDG Base Directory Specification
+
+2009-03-12  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-meta.c: corrected AUTO INCREMENT attribute reporting
+	for tables' columns
+
+2009-03-12  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-holder.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-error.[ch]:
+	* libgda/gda-types.[ch]:
+	* libgda/gda-meta-store.c:
+	* libgda/gda-set.c:
+	* libgda/gda-init.c:
+	* libgda/Makefile.am:
+	* libgda/gda-custom-marshal.[ch]:
+	  - renamed gda-error.[ch] to gda-types.[ch] as more custom types are defined
+	  - don't install the new gda-types.h file
+	  - don't export the _get_type() symbols
+	  - fixes for bug #574736
+	* libgda/gda-set.c:
+	* doc/C: fixes for bug #574741
+	* libgda/gda-set.[ch]: removed unused part in GdaSetSource and added padding
+	for future expansion to GdaSetNode, GdaSetGroup and GdaSetSource
+
+2009-03-10  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-statement.c:
+	* doc/C:
+	  - documents gda_statement_to_sql_real(), fixes bug #574738
+	  - mention that GdaServerOperationNode is mainly for database provider's
+	    implementations, for bug #574742
+	* libgda/gda-meta-struct.c: fixes documentation for
+	gda_meta_struct_get_all_db_objects(), fixes bug #574740
+
+2009-03-09  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.14
+
+Released 3.99.13
+
+2009-03-07  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: improved performances on gda_binary_to_string()
+	and gda_string_to_binary(): removed g_memmove() usage and convert any
+	non ASCII printable char to an octal representation (don't bither with
+	unicode anymore)
+
+2009-03-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: fix for bug #574193
+	* tests/Makefile.am:
+	* tests/test-ddl-creator.c: remove created DB before running test, and run
+	as a test
+	* tests/Makefile.am:
+	* tests/tests/test-bin-converter.c: new test for gda_binary_to_string()
+	and gda_string_to_binary()
+
+2009-03-04  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: use ncurses if found instead of ncuses, fixes bug #574021
+	* tools/tools-input.c: currected compilation issue if readline is not found,
+	fixes bug #574020
+
+2009-03-03  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* libgda/Makefile.am:
+	* libgda/gda-data-model-bdb.c:
+	* providers/bdb/Makefile.am: the berkeley db livrary is now loaded only
+	when needed: the libgda library is not linked directly with it anymore
+
+2009-03-02  Vivien Malerba <malerba gnome-db org>
+
+	* tools/gda-sql.c:
+	  - corrected the "\i" command
+	  - corrected multi line commands handling
+	* tools/gda-threader.c: removed unnecessary warning
+	* tests/parser: added a new test which checks the parsing of whole script files
+	* libgda/sql-parser/gda-sql-parser.c: consider a single '#' to be the start of a comment
+	up to the end of the line for MySQL
+	* libgda/libgda.symbols: added missing symbols (gda_data_model_error_get_type and
+	gda_utility_data_model_find_column_description), and other corrections
+	* libgda/sqlite/: renamed symbols which are not supposed to be exported
+
+2009-02-28  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.13
+
+Released 3.99.12
+
+2009-02-26  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/libgda.symbols:
+	* libgda/gda-row.[ch]: added gda_row_invalidate_value() and gda_row_value_is_valid()
+	to be used by database providers' implementations to tag individual values in a GdaRow
+	as invalid (either because the value coud not be read or because the value could not
+	be intepreted as the requested data type)
+	* libgda/sqlite: SQLite provider's improvements:
+	  - handle int64 types
+	  - fixed a bug when using the '*' in a SELECT to get a blob data
+	  - use the new gda_row_invalidate_value() API
+	* libgda/gda-data-access-wrapper.c:
+	* libgda/gda-data-model-array.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/postgres/gda-postgres-recordset.c: use the new gda_row_invalidate_value() API
+	* libgda/gda-data-select.c: use the new gda_row_value_is_valid() API
+	* libgda/gda-data-model.c: gda_data_model_dump_as_string() and gda_data_model_dump ()
+	now display #### when the value of a column can't be obtained and displayed instead
+	of undefined result
+
+2009-02-25  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql: more work on the MySQL provider:
+	  - some work on the parameters' binding to use the correct type (not
+	    always MYSQL_TYPE_STRING
+	  - don't pass the bound parameters to the GdaMysqlPStmt as it does not
+	    use them
+	  - double free problem in GdaMysqlRecordset
+
+2009-02-25  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql: more work on the MySQL provider:
+	  - use a MYSQL_STMT per prepared statement
+	  - if the same prepared statement is executed more than once and is
+	    a SELECT, then use another MYSQL_STMT to avoid conflicting with
+	    the previous one
+
+2009-02-24  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-parser/gda-statement-struct.c:
+	* doc/C: doc. improvements
+	* libgda/gda-meta-struct.c: misc corrections
+	* libgda/gda-data-proxy.c: made it thread safe
+	* libgda/libgda.symbols:
+	* libgda/gda-util.[ch]: added gda_sql_identifier_split()
+	* providers/mysql/*: more MySQL provider work:
+	  - remove double quotes around tables names when rendering SQL
+	  - make sure the connection uses UTF-8
+	  - corrected the handling of NULL values in GdaMysqlRecordset
+	  - removed compilation warnings
+	  - improved meta data retreival
+	  - bug fixes
+
+2009-02-23  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-connection.c: improved debug message
+	* libgda/sqlite/sqlite-src/Makefile.am: define the SQLITE_OMIT_LOAD_EXTENSION flag
+	to avoid having to link with libdl, possible fix for bug #572277
+	* providers/mysql/gda-mysql-meta.c:
+	* providers/mysql/gda-mysql-recordset.c: general MySQL provider improvements
+	* providers/mysql/gda-mysql-provider.c: possible fix for bug #572394
+
+2009-02-22  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-util.c (gda_utility_data_model_dump_data_to_xml): Don't
+	leak rcols, fixes bug #572734
+
+2009-02-21  Armin Burgmeier  <armin openismus com>
+
+	* libgda/sqlite/gda-sqlite-provider.c:
+	gda_sqlite_provider_begin_transaction()
+	gda_sqlite_provider_commit_transaction()
+	gda_sqlite_provider_rollback_transaction(): Set error when statement
+	execution fails.
+
+2009-02-21  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-meta-store.c: corrected gda_meta_store_schema_get_structure(), fixes
+	bug #542847
+
+2009-02-18  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/sqlite-src: uses SQLite version 3.6.11
+
+2009-02-18  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C: doc. improvements regarding GdaDataHandler
+	* providers/mysql/gda-mysql-ddl.c:
+	* providers/postgres/gda-postgres-ddl.c:
+	* providers/postgres/gda-postgres-handler-bin.c:
+	* libgda/sqlite/gda-sqlite-handler-bin.c:
+	* libgda/handlers/gda-handler-type.c:
+	* libgda/handlers/gda-handler-bin.c:
+	* libgda/gda-data-handler.c;
+	* libgda/gda-server-provider.c: make sure the
+	gda_data_handler_get_sql_from_value() function is implemented in a
+	coherent way, fixed bug #572220
+
+2009-02-17  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* providers/sybase/main.c:
+	* Makefile.w32: removed any obsolete reference to bonobo,
+	for bug #571879
+	* libgda/gda-value.[ch]:
+	* libgda/handlers/gda-handler-bin.c:
+	* providers/postgres/gda-postgres-handler-bin.c:
+	  - fixed gda_string_to_binary() and gda_string_to_blob(),
+	    for bug #572028
+	  - removed the const from gda_value_take_binary() and
+	    gda_value_take_blob()
+
+2009-02-15  Vivien Malerba <malerba gnome-db org>
+
+	* samples/MetaStore/example.c: corrected the usage of
+	gda_connection_get_meta_store_data()
+	* libgda/gda-connection.c: when using gda_connection_get_meta_store_data()
+	with GDA_CONNECTION_META_FIELDS, accept the filter composed of
+	"name" (table name) and	"field_name" as mentionned in the doc
+
+2009-02-14  Vivien Malerba <malerba gnome-db org>
+
+	* samples/:
+	  - added a new MetaStore example to show some examples of the
+	    gda_connection_update_meta_store() function
+	  - corrected some examples to compile correctly
+	* doc/C:
+	* libgda/gda-connection.c: improved documentation
+
+2009-02-13  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.12
+
+Released 3.99.11
+
+2009-02-13  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-connection.c:
+	* doc/C: doc. updates
+	* libgda/libgda.symbols: removed non existant symbol
+
+2009-02-09  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/virtual/: s/GdaVConnectionDataModelFunc/GdaVconnectionDataModelFunc/
+	* doc/C: doc. updates
+
+2009-02-08  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C:
+	* libgda/sql-parser:
+	* libgda/libgda.symbols:
+	  - documentation improvements, fixes bug #570787
+	  - removed symbols which should never have been public
+
+2009-02-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-attributes-manager.c: applied patch for bug #569399 (tanks
+	to Carl-Anton Ingmarsson)
+
+2009-02-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-attributes-manager.c: added locking in case several threads use
+	the same GdaAttributeManager at the same time, this may be the problem for
+	Anjuta bug #569399
+	* doc/C: doc. improvements
+	* libgda/gda-data-access-wrapper.c: when data model being wrapped does not have
+	random access but still can iter forward and backward, then use a pool of GdaRow
+	of limited size instead of keeping all the read rows in memory
+	* libgda/gda-connection.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/skel-implementation/capi/gda-capi-provider.c: when calling the
+	statement_execute() virtual method, the requested data model's access mode
+	is checked and altered in GdaConnection to have a common behaviour.
+	* other files:
+	  - s/GdaLockableClass/GdaLockableIface/
+	  - s/GdaDataModelClass/GdaDataModelIface/
+	  - added padding for future expansion to guarantee ABI stability
+
+2009-02-04  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model.c: fixed a bug where the number of rows was printed
+	after every line in gda_data_model_dump()
+	* WixInstaller: moved to installers/WindowsWix
+	* installers: new directory to store information and scripts about OS
+	specific installers
+
+2009-02-03  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C: doc fixes, for bug #570315
+	* libgda/sql-parser/gda-sql-parser.c: allow more characters in parameter names
+	* libgda-report/engine/gda-report-engine.c:
+	* samples/Report/customers-report-spec.xml:
+	* samples/Report/customers-report-rml.rml: changed the syntax of parameters
+	to avoid SQL parsing confusions (replace "/@" by "|@", "/#" by "|#" and
+	"/%nrows" by "|?nrows")
+	* libgda/sqlite/gda-sqlite-recordset.c: debug messages
+	* libgda/gda-data-select.c: applied patch for bug #570251 (thanks Armin)
+	* libgda/gda-data-model.c: avoid calling twice g_set_error() on the same
+	GError
+	* libgda/gda-connection.c: only show database objects which are visible by
+	default in gda_connection_get_meta_store_data(), fixes bug #570396
+
+2009-02-02  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.11
+
+Released 3.99.10
+
+2009-02-02  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/libgda.symbols: removed non exported symbols
+
+2009-02-02  Vivien Malerba <malerba gnome-db org>
+
+	* tools/gda-sql.c: change the prompt from "cnc_name>" to "cnc_name[" when
+	in a transaction
+
+2009-02-02  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-data-access-wrapper.c
+	(gda_data_access_wrapper_get_value_at): Don't rely on an existing
+	row for models that support both forward- and backward iteration since
+	rows are not cached in iter_row_changed_cb() in that case. Instead,
+	recreate the row to fetch the requested value.
+
+2009-02-01  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* libgda/binreloc/gda-binreloc.c: fix for MacOS X
+	* tools/gda-sql.c: ignore unknown arguments on the command line
+
+2009-01-28  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/virtual/gda-vconnection-hub.h:
+	* libgda/gda-easy.c:
+	* libgda/sql-parser/gda-statement-struct.c:
+	* libgda/sql-parser/gda-statement-struct-parts.h:
+	* libgda/gda-set.h:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-provider-extra.c:
+	* libgda-report/DocBook/gda-report-docbook-document.c:
+	* libgda-report/RML/gda-report-rml-document.c:
+	* libgda/gda-meta-struct.c:
+	* libgda/gda-holder.[ch]:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-bdb.c:
+	* libgda/gda-column.h: doc updates
+	* libgda/libgda.symbols:
+	* providers/postgres/gda-postgres-handler-bin.c:
+        * libgda/sqlite/gda-sqlite-handler-bin.c:
+        * libgda/gda-column.h:
+        * libgda/handlers/gda-handler-time.c:
+        * libgda/handlers/gda-handler-boolean.c:
+        * libgda/handlers/gda-handler-numerical.c:
+        * libgda/handlers/gda-handler-type.c:
+        * libgda/handlers/gda-handler-string.c:
+        * libgda/handlers/gda-handler-bin.c:
+        * libgda/gda-data-handler.c:
+        * libgda/gda-data-handler.h: removed unused methods
+
+2009-01-28  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-server-provider.c: fixed a bug where the connection would remain
+	locked.
+	* providers/postgres/gda-postgres-meta.c: fix for bug #143576
+	* po/: ran "make update-po"
+
+2009-01-27  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-easy.c:
+	* libgda/gda-mutex.c:
+	* libgda/gda-meta-store.c:
+	* libgda/gda-value.c:
+	* libgda/gda-meta-struct.h: doc. updates
+
+2009-01-27  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/libgda.symbols:
+	* libgda/gda-easy.[ch]: added gda_insert_row_into_table_v() and
+	gda_update_row_in_table_v() to facilitate C++ bindings; fixes bug #568484
+	* libgda/gda-easy.c:
+	* libgda/gda-meta-store.c:
+	* libgda/gda-util.c:
+	* libgda/gda-config.c: fixed memory leaks
+	* configure.in:
+	* libgda/gda-config.c: if available, use GIO to monitor config files changes
+	instead of FAM or gamin, fixes bug #486021
+
+2009-01-26  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C:
+	  - added section about SQL parsers and how to write a database specific
+	    one in a database provider
+	  - misc. improvements
+	* providers/skel-implementation/capi/gen_def.c:
+	* providers/firebird/gen_def.c:
+	* providers/mysql/gen_def.c:
+	* providers/postgres/gen_def.c: removed unused #define in generated header file
+	* libgda/libgda.symbols: removed symbols not existing anymore
+	* providers/jdbc/Makefile.am: include the MANIFEST.MF in distributed tarballs,
+	fixes bugs #568388 and #568353
+	* providers/gda-mysql-recordset.c: add unsigned information when binding
+	for output to avoid data being truncated, fixes bug #561748
+
+2009-01-25  Vivien Malerba <malerba gnome-db org>
+
+	* tools/test_blob.sh: new script used to test database provider's blobs
+	implementations
+	* providers/postgres/gda-postgres-provider.c: correct a double free problem
+	and prevent memory leaks in some cases
+
+2009-01-24  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-parser/parser_tokens.h: removed unnecessary token names
+	* libgda/gda-server-provider-extra.[ch]: code cleanup, improved
+	documentation
+
+2009-01-24  Vivien Malerba <malerba gnome-db org>
+
+	* providers/skel-implementation/capi/gen_def.c:
+	* providers/skel-implementation/capi/Makefile.am:
+	* providers/firebird/gen_def.c:
+	* providers/firebird/Makefile.am:
+	* providers/mysql/gen_def.c:
+	* providers/mysql/Makefile.am:
+	* providers/postgres/gen_def.c:
+	* providers/postgres/Makefile.am: corrected parser's symbols translations
+	* libgda/sql-parser/parser.y: allow identifiers to be enclosed between
+	single quotes
+	* libgda/sql-parser/gda-statement-struct-util.c:
+	gda_sql_identifier_remove_quotes() also accepts single quotes around
+	identifiers
+	* libgda/sql-parser/gda-sql-parser.c: added debug information
+	* tests/parser/testdata.xml: added more test cases
+
+	This fixes bug #568844
+
+2009-01-23  Vivien Malerba <malerba gnome-db org>
+
+	* sqlite/gda-sqlite-provider.c: partial fix for bug #568844
+
+2009-01-23  Vivien Malerba <malerba gnome-db org>
+
+	* documentation fixes, see bugs #568731 and #561178.
+
+2009-01-21  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite-meta.c: fix for bug #568570
+	* libgda/gda-value.c: corrected gda_value_new_timestamp_from_timet()
+	to correclty handle the results of localtime() (thanks to Tim Lapawa)
+
+2009-01-19  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.10
+
+Released 3.99.9
+
+2009-01-19  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/sqlite-src: reverted to 3.6.7 because of bug #568093
+	* other files: documentation updates
+
+2009-01-18  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite-provider.c: fix for bug #568165
+	* libgda-report/RML/gda-report-rml-document.c:
+	* providers/skel-implementation/models/gda-models.h:
+	* providers/skel-implementation/capi/gda-capi.h:
+	* libgda/sqlite/virtual/gda-virtual-provider.c:
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c:
+	* libgda/sqlite/virtual/gda-vprovider-hub.c: applied patch
+	for bug #568163 (thanks to Halton Huo)
+
+2009-01-15  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/Makefile.am:
+	* libgda/gda-threader.[ch]:
+	* libgda/libgda.symbols:
+	* tools/Makefile.am:
+	* tools/gda-threader.[ch]: removed GdaThreader from Libgda and moved it
+	to the gda-sql console which uses it, as this API is not well thought enough
+	(fixes bug #561175)
+	* libgda/gda-data-model.h: typedef enum GdaDataModelError
+	* libgda/gda-data-proxy.c: removed unused gda_data_proxy_get_model(), and
+	made gda_data_proxy_append() static
+	* libgda/gda-server-operation.c: improved documentation, for bug #561178
+	* Makefile.am: also distribute getsp.java and getsp.class
+	* libgda-report/Makefile.am: also distribute libgda-report.symbols
+	* doc/C:
+	  - fix for bug #561173
+	  - updated documentation
+	  - cleanups
+	* libgda/sqlite/sqlite-src: now uses SQLite 3.6.10
+	* libgda/gda-value.c: made gda_value_list_copy() and gda_value_list_free() static
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-private.h: made gda_data_model_to_xml_node() static
+
+2009-01-12  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.9
+
+Released 3.99.8
+
+2009-01-12  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-parser/gda-statement-struct-parts.c:
+	* doc/C: doc. improvements
+	* libgda/libgda.symbols:
+	* libgda/gda-easy.[ch]: implementation of INSERT/UPDATE/DELETE convenience
+	functions (with some API Corrections!)
+	* samples/SimpleExample/example.c: use the convenience API
+	* libgda/gda-util.c: bug fixed
+	* providers/postgres/gda-postgres-meta.c: bug fixed (on partial meta data update)
+
+2009-01-09  Vivien Malerba <malerba gnome-db org>
+
+	* tools/web-server.c:
+	* libgda/libgda.symbols: Win32 build corrections
+
+2009-01-09  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-util.[ch]: added gda_compute_select_statement_from_update()
+	* libgda/sqlite/:
+	  - added BLOB support for the SQLite provider
+	  - report an error when getting a gint from a too big gint64 value
+	* tests/: updated test data related to the gda_g_type_to_string() changes
+	* configure.in
+	* tools/:
+	  - added a '-v' command line option to display version
+	  - added a man page for gda-sql
+	  - optionnally create symlink from "<prog>" to the "<prog>-4.0" program names
+
+2009-01-06  Vivien Malerba <malerba gnome-db org>
+
+	* tools/: embedded web server improvements:
+	 - fix a bug where big data models were truncated
+	 - UI corrections
+	 - multiple simultaneous consoles now works
+	* libgda/sqlite/virtual/gda-vconnection-hub.c: only bind the tables
+	which require a complete name (<schema>.<name>)
+
+2009-01-05  Vivien Malerba <malerba gnome-db org>
+
+	* tools/: now display result sets as an HTML table which can be resized
+	* providers/jdbc/GdaInputStream.c: removed unused variable
+	* libgda/gda-util.c:
+	  - gda_g_type_to_string(): be more coherent
+	  - gda_utility_data_model_find_column_description(): test GValue
+	    existence before getting its value
+
+2008-12-31  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.8
+
+Released 3.99.7
+
+2008-12-31  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C/gda-sql-manual.xml: documentation for SQL console's embedded HTTP server
+	* po/: ran "make update-po"
+
+2008-12-30  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-util.[ch]: added gda_utility_data_model_find_column_description(),
+	thanks to Carlos Savoretti
+	* libgda/gda-config.c:
+	  - avoid memory leaks with provider's DSN spec and AUTH spec strings
+	  - close all GModules after having go tthe list of providers)
+	* providers/*/libmain.c: don't leak memory when module is closed
+	* providers/jdbc/libmain.c: make sure the GModule is made resident because
+	the Java runtime is not completely unloaded (don't know how to do it)
+	* libgda/gda-connection.[ch]:
+	  - cleaned unused GDA_CONNECTION_*_ERROR codes
+	  - improved documentation, see bug #565019
+	* doc/C: doc. improvements
+
+2008-12-29  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-iter.h: #define gda_data_model_iter_move_at_row to
+	gda_data_model_iter_move_to_row
+	* tools/Makefile.am: corrections to have "make distcheck" work
+
+2008-12-26  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-quark-list.c: remove leading and trailing white spaces in both
+	key and value for each (<key>=<value>) pair (if a key or a value needs white
+	spaces, they need to encode them as "%20")
+	* tools/: improvements to the GDA SQL console's web server part:
+	  - added authentication, based on a token (a string) the client must enter upon
+	    request (then uses a cookie)
+	  - added a terminal emulator to enter commands as one would do on a normal xterm
+	  - reworked the CSS
+	  - added binreloc feature
+	* libgda/gda-data-model.c: applied patch to correct a bug in
+	gda_data_model_get_typed_value_at(), thanks to Tim Lapawa
+	* providers/skel-implementation/capi/capi_specs_create_table.xml.in:
+	* providers/firebird/firebird_specs_create_table.xml.in:
+	* providers/sqlite/sqlite_specs_create_table.xml.in:
+	* providers/jdbc/jdbc_specs_create_table.xml.in:
+	* providers/mysql/mysql_specs_create_table.xml.in
+	* providers/postgres/postgres_specs_create_table.xml.in: don't define any column
+	when creating a GdaServerOperation for table creation, fixes bug #565618
+	* doc/C:
+	* libgda/gda-connection.c: doc. update
+
+2008-12-18  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-server-provider.[h|c]: Correct spelling of prefered_type 
+	parameter to preferred_type.
+
+2008-12-16  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/sqlite-src: up to version 3.6.7
+
+2008-12-16  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-meta-struct.[ch]:
+	* libgda/gda-column.[ch]:
+	* libgda/gda-holder.[ch]: added a GDestroyNotify argument to gda_*_set_attribute()
+	because this API design was not correct, this breaks the API, see bug #564402
+
+	The gda_*_set_attribute_static() has been defined to reproduce the previous behaviour
+
+	* libgda/gda-meta-struct-io.c: use gda_meta_table_column_set_attribute_static()
+	* libgda/gda-attributes-manager.c: documentation corrections
+	* providers/postgres/gda-postgres-meta.c: fixed a bug the SQL code
+	* configure.in: detect size of C types used by MD5 implementation
+	* libgda/global.h: fixed MD5 computation error (make sure a four byte word is used)
+	* tests/value-holders/check_holder.c:
+	* tests/value-holders/check_set.c: use gda_holder_set_attribute_static()
+	* other misc files: minor corrections to remove compilation warnings.
+
+2008-12-16  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-model-iter-extra.h: Rename  
+	gda_data_model_iter_move_at_row_default() to 
+	gda_data_model_iter_move_to_row_default().
+	* libgda/gda-data-model-iter.[h|c]: Rename 
+	gda_data_model_iter_move_at_row() to 
+	gda_data_model_iter_move_to_row().
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-data-select.c:
+	* libgda/sqlite/virtual/virtual-test.c: Adapt.
+
+2008-12-15  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-connection.h:
+	* libgda/gda-data-comparator.h:
+	* libgda/gda-meta-store.h: Removed trailing , in enums to avoid 
+	warnings.
+	* libgda/gda-connection.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/skel-implementation/capi/gda-capi-provider.c: Corrected 
+	g_set_error() calls to avoid warnings because I had the parameters in 
+	the wrong order. 
+
+2008-12-14  PrzemysÅaw Grzegorczyk  <pgrzegorczyk gmail com>
+
+	* libgda/gda-init.c:
+	* libgda/gda-config.c:
+	* libgda/sqlite/gda-sqlite.h:
+	* libgda/gda-value.c:
+	* libgda/gda-value.h:
+	* libgda/gda-util.c:
+	* libgda/gda-util.h:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-quark-list.c:
+	* libgda/gda-quark-list.h:
+	* libgda/gda-log.c:
+	* libgda/gda-log.h:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-column.c:
+	* libgda/gda-column.h: Cleared up glib includes
+	to use only toplevel headers. Bug #564274.
+
+2008-12-11  Murray Cumming  <murrayc murrayc com>
+
+	* Many files: Add an extra "%s" arguement to g_set_error() calls, 
+	to avoid warnings about the lack of format and arguments.	
+	We should really use g_set_error_literal() instead but that requires 
+	glib 2.18
+
+2008-12-11  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-connection.c: fix for bug #564159
+
+2008-12-10  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/libgda.symbols:
+	* libgda/Makefile.am:
+	* libgda-report/libgda-report.symbols:
+	* libgda-report/Makefile.am:
+	  - use a DEF file on Windows to only export the
+	    correct symbols (in the initialized data and the text (code) sections)
+	  - create import libraries (.lib) files
+	* tools-input.[ch]:
+	* tools/gda-sql.c: use a main loop for characters input notification instead of
+	locking on a readline function
+	* configure.in
+	* tools/Makefile.am
+	* tools/html-doc.[ch]
+	* tools/web-server.[ch]: optionnally run a small embedded web server (if
+	libsoup is installed) to display meta data information in a browser
+	* libgda/gda-easy.[ch]: applied patch from Daniel Espinosa for bug #529794
+	* libgda/gda-data-model.c: calling gda_data_model_dump() with a NULL FILE*
+	now prints to stdout
+	* libgda/gda-meta-struct.c:
+	  - removed debug messages
+	  - better API documentation
+
+2008-12-01  Vivien Malerba <malerba gnome-db org>
+
+	* tools/gda-sql.c: simplified the result of the -L option (now only returns the
+	provider name and its description for each installed provider)
+	* tools/command-exec.c:
+	  - corrections when listing tables or views
+	  - if no object is found in the default "search path", then it is also
+	    looked up in all the schemas
+	* tools/tools-input.c: correclty handle history
+	* providers/jdbc/*:
+	  - JNI related bug fixes
+	  - meta data now also retreives table's columns information
+	  - added some code specific to Apache Derby
+	* libgda/gda-connection.c:
+	* libgda/gda-meta-struct.c: replace "='BASE TABLE'" with "LIKE '%TABLE%'"
+	* libgda/gda-meta-struct.[ch]: added gda_meta_struct_complement_all()
+
+2008-11-29  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-config.c: shared libraries corresponding to providers' implementations
+	can now implement more than one provider type (used by the JDBC provider which
+	implements a provider per JDBC driver found)
+	* providers/postgres/gda-postgres-recordset.c: comments corrections
+	* libgda/gda-data-select.c: code indentation
+	* libgda/gda-quark-list.c: shorter code which corrects potentially double free
+	problem
+	* tools/gda-sql.c:
+	* providers/postgres/gda-postgres-blob-op.c:
+	* libgda/dir-blob-op.c:
+	* libgda/gda-value.c:
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c: minor corrections
+	* configure.in:
+	* getsp.class: new JAVA detection
+	* po/POTFILES.in:
+	* providers/Makefile.am
+	* providers/jdbc: new provider which wraps JDBC, giving access to many
+	databases: pure JAVA databases such as H2, Derby, HSQLDB (used by
+	OpenOffice.org's Base component) or any other database with a JDBC driver,
+	see the providers/jdbc/doc/index.html file for more information
+	* tests/data-models/check_virtual.c: set up test environment
+	* libgda/gda-data-select.h: added gda_data_select_get_connection() which
+	is already implemented and documented (Carlos Savoretti)
+	* libgda/gda-meta-struct.c: set the GDA_ATTRIBUTE_DESCRIPTION attribute for
+	table's columns (Carlos Savoretti)
+	* providers/mdb/libmain.c: correctly use binreloc to detect provider's ressources
+	location
+	* doc/C: doc. update
+	* po/: ran "make update-po"
+
+2008-11-27  Johannes Schmid  <jschmid openismus com>
+
+	* libgda/gda-connection.c (gda_connection_get_meta_store_data_v):
+	Fixed crasher caused by wrong condition in for loop
+
+2008-11-21  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/dir-blob-op.c: fixed the "write" virtual method
+	* tools/gda-sql.c:
+	  - added the "setex" command which sets a parameter either from a table's
+	    value or from the contents of a file (as a blob)
+	  - added the "export" command to export a parameter or a table's value to
+	    a file
+	  - lines starting with a # are considered as a comment and ignored
+	  - added the '-i' option to keep the console after a script has been executed
+	* libgda/gda-value.[ch]: added gda_value_new_blob_from_file() as a convenience
+	function
+	* libgda/gda-column: doc. improvements
+	* libgda/gda-blob-op.c:
+	* doc/C:
+	  - improved documentation for provider's developpers about blob operations
+	  - moved the gda_column_set*() to the provider's developpers section
+	  - updated the gda-sql console commands description (.setex end .export commands)
+	* providers/postgres/gda-postgres-provider.c:
+	  - fixed prepared statement names using static counters to avoid naming collisions
+	  - remove savepoint correction
+	  - better transaction control when using blobs
+	* providers/postgres/gda-postgres-blob-op.c:
+	  - don't keep the blob "opened" at all times
+	  - correctly handle transaction states when accesing the blob
+	* providers/postgres/gda-postgres-recordset.h: fixed indentation
+	* libgda/sqlite/gda-sqlite-provider.c: note for future implementation of
+	BLOBS
+	* providers/skel-implementation/capi/gda-capi-blob-op.c:
+	* providers/skel-implementation/capi/gda-capi-provider.c: corrections to the
+	default provider's skeleton implementation
+
+2008-11-17  Murray Cumming  <murrayc murrayc com>
+
+	* doc/C/gettingstarted.xml:
+	* doc/C/libgda-4.0-docs.sgml:
+	* doc/C/tmpl/gda-batch.sgml:
+	* doc/C/tmpl/gda-sql-statement.sgml:
+	* doc/C/tmpl/gda-statement.sgml: Correct the spelling of grouped in 
+	the documentation.
+
+2008-11-10  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.7
+
+Released 3.99.6
+
+2008-11-10  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-easy.[ch]: modified the gda_perform_create_database() and
+	gda_perform_drop_database() to add the provider's name as 1st argument, for
+	bug #529794
+	* tests/test-cnc-utils.c: adaptations to API changes
+	* libgda/gda-init.c: set the default value of gda_numeric_locale and gda_lang_locale
+	to "" instead of NULL so if people forget to call gda_init() then they won't have a
+	crash when using any of there variables
+	* libgda/gda-data-model.[ch]: use real error codes with g_set_error()
+	* libgda/binreloc/gda-binreloc.c: make binreloc work again correctly on Win32
+
+2008-11-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-config.c: don't try to load a shared library if
+	it does not have the "plugin_init" symbol
+	* providers/skel-implementation/capi/libgda-capi-4.0.pc.in: typo error
+	* testing/gda-provider-status.c: small pointer error correction (Daniel Espinosa)
+
+2008-11-05  Massimo Cora'  <maxcvs email it>
+
+	* libgda/gda-holder.c (real_gda_holder_set_const_value):
+	fixed a bug in returning wrong static values.
+
+2008-10-26  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* providers/skel-implementation/models/Makefile.am:
+	* providers/skel-implementation/capi/Makefile.am:
+	* providers/firebird/Makefile.am:
+	* providers/bdb/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/mysql/Makefile.am:
+	* providers/postgres/Makefile.am: limit the providers' list of exported symbols
+	* providers/skel-implementation/capi/parser.y:
+	* providers/firebird/parser.y:
+	* providers/mysql/parser.y:
+	* providers/postgres/parser.y:
+	* libgda/sql-parser/parser.y:
+	* libgda/sql-parser/delimiter.y:
+	  - don't compute debug string if not debugging,
+	  - reported modifications from the PostgreSQL and SQlite's providers's
+	    parsers to other providers
+
+2008-10-25  Vivien Malerba <malerba gnome-db org>
+
+	* tools/gda-sql.c:
+	* doc/C/libgda-4.0-sections.txt:
+	* doc/C/prov-writing.xml:
+	* doc/C/libgda-4.0-docs.sgml:
+	* doc/C/tmpl/gda-server-provider.sgml:
+	* doc/C/tmpl/gda-data-handler.sgml:
+	* providers/mysql/gda-mysql-ddl.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-ddl.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-provider.h:
+	* libgda/gda-statement.c: s/gda_server_provider_get_data_handler_gtype/
+	gda_server_provider_get_data_handler_g_type
+
+2008-10-25  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-column.c:
+	* libgda/sql-parser/gda-statement-struct-insert.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/firebird/gda-firebird-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/skel-implementation/capi/gda-capi-provider.c: memory leaks corretions,
+	for bug #546339
+	* libgda/gda-holder.c: improved error messages (Carlos Savoretti)
+	* providers/mysql/gda-mysql-meta.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/mysql/gda-mysql-util.c: improvements to the MySQL provider (Carlos Savoretti)
+
+2008-10-19  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-select.c: don't copy GdaColumn objects from the prepared statement,
+	but simmply g_object_ref() them
+	* libgda/gda-data-comparator.[ch]: fix for bug #556960
+	* libgda/gda-attributes-manager.c: performances improvements, for bug #556327
+
+2008-10-18  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-select.[ch]: added gda_data_select_compute_columns_attributes()
+	which implements what was in gda_data_model_iter_compute_attributes(), better to
+	make it there since it was specific to the GdaDataSelect object
+	* libgda/gda-data-model-iter.[ch]: removed gda_data_model_iter_compute_attributes()
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-holder.c:
+	* tests/value-holders/check_holder.c:
+	* libgda/gda-easy.c: minor bug fixes
+	* libgda/gda-set.[ch]: removed dead code and declarations
+
+2008-10-15  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-pstmt.[ch]:
+	* providers/mysql/gda-mysql-blob-op.[ch]:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-recordset.[ch]: corrections for cursor based access SELECT
+	statements, thanks to Carlos Savoretti
+	* libgda/gda-data-model-iter.[ch]: added the gda_data_model_iter_compute_attributes()
+	method to force the iterator to compute and set the correct attributes for
+	each of its GdaHolder; a separate method is required because computing them
+	all the time consumes too much ressources, see bug #556327
+
+
+2008-10-15  Johannes Schmid  <jschmid openismus com>
+
+	* libgda/Makefile.am: Install gda-error.h header
+	* libgda/gda-error.c (gda_error_get_type):
+	Fixed a typo (GDaError <-> GdaError), for bug #556258
+
+2008-10-13  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-error.[ch]: declare a GDA_TYPE_ERROR by registering a boxed type
+	for GError
+	* libgda/gda-custom-marshal.[ch]: implement custom marshallers where needed
+	* libgda/gda-column.c: moved custom marshaller to libgda/gda-custom-marshal.[ch]
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-holder.c:
+	* libgda/gda-set.c: implemented custom marshallers for the following signals:
+	  - GdaSet::validate-set
+	  - GdaSet::validate-holder-changed
+	  - GdaSet::holder-attr-changed
+	  - GdaHolder::attribute-changed
+	  - GdaHolder::validate-change
+	  - GdaDataProxy::validate-row-changes
+	for bug #555905
+	* tests/data-models/check_data_proxy.c:
+	* tests/value-holders/check_set.c: updated test to check new marshallers
+	* libgda/gda-data-model.c: either display a warning or set error when a requested
+	method is not implemented
+	* libgda/binreloc/gda-binreloc.c: correctly handle the case where the libdir is lib64
+	* libgda/gda-statement.c:
+	* libgda/gda-data-comparator.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-custom-marshal.h:
+	* libgda/gda-marshal.c:
+	* libgda/gda-custom-marshal.c:
+	* libgda/gda-set.c:
+	* libgda/gda-marshal.h:
+	* libgda/gda-threader.c:
+	* libgda/Makefile.am:
+	* libgda/gda-config.c:
+	* libgda/gda-connection.c:
+	* libgda/gda-meta-store.c:
+	* libgda/gda-holder.c:
+	* libgda/gda-column.c:
+	* libgda/gda-server-operation.c: renamed gda_marshal* to _gda_marshal* so that these symbols
+	are not exported in the final library anymore (now only 853 symbols exported!)
+	* providers/mysql/gda-mysql-provider.c: honor the "USERNAME" and "PASSWORD" in
+	the auth_string
+	* doc/C: doc. update
+
+2008-10-10  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/handlers/gda-handler-type.c: use g_value_[sg]et_gtype() instead of
+	g_value_[sg]et_ulong()
+	* providers/postgres/gda-postgres-recordset.c: correclty handle the G_TYPE_GTYPE
+	values as the string representation must be converted to a GType (the type
+	is not stored as a string representation of its numerical value)
+	* libgda/gda-statement.[ch]: removed gda_statement_deserialize() as it's not
+	implemented
+	* libgda/gda-value.h: added a reserved pointer to GdaNumeric be able to maniuplate
+	GdaNumeric structures using the GMP library
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-extra.h: made gda_data_model_signal_emit_changed()
+	static as it's not used outside
+	* configure.in:
+	  - really only export the needed symbols,
+	  - proposed fixed for MinGW building on Windows
+
+2008-10-09  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.6
+
+Released 3.99.5
+
+2008-10-09  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/binreloc/Makefile.am: install gda-binreloc.h in the $prefix/libgda-4.0/libgda/
+	directory ao applications can use it
+	* libgda/binreloc/gda-binreloc.c: correctly handle specific install dir passed to the
+	configure script (correct fix for bug #541991, comment 2)
+	* libgda/sqlite/sqlite-src/: up to version 3.6.3
+	* libgda/information_schema.xml: added some descriptions
+	* libgda/gda-attributes-manager.h: added expected types description
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c: don't use a GdaDataProxy, as it can bring some
+	problems when modifying the data model (errors are not reported at the correct moment)
+	* doc/C: doc. updates
+	* tests/data-models/check_virtual.c: order the expected result to avoid test failure when
+	comparing with expected data model
+	* po/: ran 'make update-po'
+
+2008-10-09  Johannes Schmid <jhs gnome org>
+
+	* libgda/gda-data-proxy.[ch]: added class method for "filter-changed" signal, for bug #537105
+
+2008-10-07  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-server-operation.c: code cleanup
+	* libgda/gda-column.c:
+	* libgda/gda-holder.c:
+	* libgda/gda-meta-struct.c:
+	* libgda/gda-attributes-manager.[ch]: optionnally specify a callback function
+	called whenever an attribute is changed
+	* libgda/gda-data-model-import.c: renamed the GDA_TYPE_<col nb> option to
+	G_TYPE_<col nb>
+	* libgda/binreloc/Makefile.am:
+	* libgda/binreloc/gda-binreloc.c: possible fix for bug #541991 (comment 2)
+
+2008-10-07  Johannes Schmid  <johannes schmid openismus com>
+
+	* libgda-report/engine/gda-report-engine.c (value_to_node):
+	* libgda-xslt/sql_backend.c (value_to_xmlchar):
+	* libgda/gda-data-model-import.c (init_csv_import):
+	* libgda/gda-easy.c (gda_get_default_handler):
+	* libgda/gda-holder.c (gda_holder_class_init),
+	(gda_holder_new_inline), (gda_holder_set_property),
+	(gda_holder_get_property):
+	* libgda/gda-server-provider-extra.c
+	(gda_server_provider_get_data_handler_default):
+	* libgda/gda-set.c (gda_set_new_inline),
+	(gda_set_set_holder_value):
+	* libgda/gda-value.c (set_from_string), (gda_value_differ),
+	(gda_value_compare):
+	* libgda/handlers/gda-handler-type.c (gda_handler_type_init),
+	(gda_handler_type_get_value_from_sql),
+	(gda_handler_type_get_value_from_str):
+	* libgda/sqlite/gda-sqlite-provider.c
+	(gda_sqlite_provider_get_default_dbms_type):
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c (virtualCreate):
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_get_default_dbms_type):
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_get_default_dbms_type):
+	* providers/postgres/gda-postgres-recordset.c (set_value):
+	* providers/skel-implementation/capi/gda-capi-provider.c
+	(gda_capi_provider_get_default_dbms_type):
+	#537159: Use GType instead of ulong/gint to represent GTypes
+
+2008-10-06  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-attributes-manager.[ch]: added gda_attributes_manager_set_full()
+	and the GDA_ATTRIBUTE_IS_DEFAULT define
+	* libgda/gda-holder.[ch]:
+	  - added an "attribute-changed" signal
+	  - use the GDA_ATTRIBUTE_IS_DEFAULT when there is a default value
+	* libgda/gda-set.[ch]:
+	  - removed the "holder-plugin-changed" signal
+	  - changed the signature of the "holder-attr-changed" signal
+	  - use the GdaHolder's "attribute-changed" signal
+	  - removed gda_set_get_spec()
+	* libgda/gda-data-model-iter.c: update for the "holder-attr-changed" signal'
+	signature change
+	* libgda/libgda-paramlist.dtd: allow some <attribute> children nodes to the
+	<parameter> node
+	* libgda/gda-util.c: adaptations to the DTD changes
+
+2008-10-04  Massimo Cora'  <maxcvs email it>
+
+	* libgda/gda-holder.c (gda_holder_copy),
+	(real_gda_holder_set_const_value):
+	fixed typo in debug message. After a gda_holder_copy () call the GValue, even
+	if static, is copied totally so that user should free it when finished to use.
+
+2008-10-03  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-meta.c: column's GType and DBMS type reporting
+	error corrected.
+
+2008-10-03  Massimo Cora'  <maxcvs email it>
+
+	* libgda/gda-holder.c (real_gda_holder_set_value),
+	(real_gda_holder_set_const_value), (gda_holder_take_static_value):
+	* libgda/gda-holder.h:
+	added a changed_value boolean parameter on gda_holder_take_static_value.
+	Fixed some drawbacks with is_freeable flag.
+
+2008-10-02  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C/Makefile.am: don't forget to distribute the data_select.xml file so
+	'make distcheck' works
+
+2008-10-02  Vivien Malerba <malerba gnome-db org>
+
+	* tools/command-exec.[ch]:
+	* tools/gda-sql.c:
+	  - command arguments can be surrounded with simple or double quotes (quotes
+	    can also be escaped in the string)
+	  - don't output empty lines after results
+	* libgda/gda-connection.[ch]: applied (modified) patch for bug #539754
+	* libgda/gda-attributes-manager.[ch]: new attributes manager
+	* gda-holder.[ch]:
+	  - new gda_holder_get_attribute() and gda_holder_set_attribute() which use the new
+	    attributes manager
+	  - internally use the attributes manager to store name and desctiption
+	  - removed the "plugin" property which was a left-over from V3
+	* gda-column.[ch]:
+	  - new gda_column_get_attribute() and gda_column_set_attribute() which use the new
+	    attributes manager
+	  - internally use the attributes manager to store name and desctiption
+	* libgda/gda-meta-struct-io.c:
+	* tools/command-exec.c:
+	* libgda/gda-meta-struct.[ch]: new gda_meta_table_column_get_attribute(),
+	gda_meta_table_column_set_attribute() and gda_meta_table_column_foreach_attribute() which
+	replace the GdaMetaTableColumn::extra attribute (more flexibility)
+	* providers/postgres/gda-postgres-recordset.c:
+	* providers/mdb/gda-mdb-provider.c:
+	* providers/ibmdb2/gda-ibmdb2-recordset.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/freetds/gda-freetds-recordset.c:
+	* providers/sybase/gda-sybase-recordset.c:
+	* providers/msql/gda-msql-recordset.c:
+	* samples/BDB/custom-bdb-model.c:
+	* libgda/sqlite/gda-sqlite-recordset.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/gda-data-model-dsn-list.c:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-server-provider-extra.c:
+	* libgda/gda-data-model-bdb.c:
+	* libgda/gda-data-model-dir.c:
+	* libgda/gda-data-model-iter.c:
+	* gda-column.[ch]: renamed gda_column_[gs]et_title() to gda_column_[gs]et_description()
+	* libgda/sqlite/gda-sqlite-meta.c: fixed a bug in the fill_key_columns_model() function
+	* doc/C: doc updates
+
+2008-10-01  Johannes Schmid  <johannes schmid openismus com>
+
+	reviewed by: Murray Cumming <murrayc murrayc com>
+
+	* libgda/gda-column.c (gda_marshal_VOID__GTYPE_GTYPE),
+	(gda_column_class_init):
+	Use correct marshaller for GTypes
+
+2008-09-30  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* libgda/Makefile.am: make sure only the correct symbols are exported:
+	  - by requiring gmodule-no-export-2.0 instead of gmodule-2.0
+	  - by excluding csv and sqlite3 symbols
+	* libgda/sql-parser/gda-statement-struct-util.c: fixed comment so documentation
+	can be built
+	* libgda/sql-parser/parser.y: indentation correction
+	* libgda/gda-data-model-array.c: added an assertion
+	* libgda/gda-data-proxy.c: when the proxied data model is reset, make sure the column types
+	are synced
+	* libgda/gda-data-select.c: double free memory error corrected,a nd other minor corrections
+	* libgda/sqlite/gda-sqlite-meta.c: removed useless debug code
+	* libgda/sqlite/virtual/gda-vconnection-data-model-private.h:
+	* libgda/sqlite/virtual/gda-vconnection-data-model.c:
+	* libgda/sqlite/virtual/gda-vconnection-hub.c:
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c:
+	  - don't compute several times the columns of each virtual table
+	  - corrected case when the connection does not have any associated GdaMetaStore object
+	* samples/TableCopy/common.c:
+	* samples/TableCopy/table-copy.c: make this example work again
+	* doc/C: doc updates
+
+2008-09-29  Vivien Malerba <malerba gnome-db org>
+
+	* tools/gda-sql.c:
+	  - added some commands to manage data sources
+	  - improved providers list and DSN list output
+	  - allow executing files which start with ~ (HOME dir)
+	* libgda/gda-config.c: make sure the DSN info records a boolean for its
+	is_system attribute
+	* WixInstaller/make-zip-exe.sh: now generate 3 ZIP files:
+	  - one for the runtime DLLs
+	  - one with the dev. files (includes, .pc, ...)
+	  - one with the runtime dependencies (Glib, database's native DLLs, ...)
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-meta-struct-io.c:
+	* libgda/gda-meta-struct.h:
+	* libgda/gda-statement.c:
+	* libgda/gda-util.c:
+	* libgda/sql-parser/gda-sql-parser.h:
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c:
+	* tests/gda-ddl-creator.c:
+	* tools/command-exec.c:
+	* libgda/sql-parser/gda-statement-struct-util.[ch]: export some new symbols, for bug #541991
+	* libgda/sqlite/gda-sqlite-meta.c: correctly handle multiple FK constraints to the same
+	table
+	* samples/SqlParserConsole/graph.c: make the example work again
+	* providers/mysql/gda-mysql-provider.c: partially integrate the new
+	GDA_STATEMENT_MODEL_ALLOW_NOPARAM (Carlos Savoretti)
+	* doc/C: doc updates
+
+2008-09-29  Massimo Cora'  <maxcvs email it>
+
+	* libgda/gda-holder.c (gda_holder_init), (gda_holder_copy),
+	(gda_holder_dispose), (real_gda_holder_set_value),
+	(real_gda_holder_set_const_value), (gda_holder_take_static_value),
+	(gda_holder_force_invalid), (gda_holder_set_value_to_default),
+	(gda_holder_set_full_bind):
+	* libgda/gda-holder.h:
+	added function gda_holder_take_static_value () to permit a quicker use of GValues
+	without allocation/deallocation. On my tests I can gain 20ms on 100 queries.
+
+2008-09-26  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/sqlite/gda-sqlite-provider.c: code cleanup
+	* providers/skel-implementation/capi/gda-capi-provider.c: adapted skeleton implementation
+	to support the GDA_STATEMENT_MODEL_ALLOW_NOPARAM flag
+	* libgda/gda-holder.c:
+	  - the "g-type" property can now be set after construction, but only if it initially was
+	    GDA_TYPE_NULL
+	  - fixed a bug when the GdaHolder remained invalid even though it was not anymore
+	* libgda/gda-set.c: indentation correction
+	* libgda/gda-data-model-iter.c: adjust the GdaHolder's type when the data model
+	is reset (in case it was GDA_TYPE_NULL)
+	* tests/: new test cases
+	* doc/C:
+	* libgda/gda-connection.c: doc. updates
+	* libgda/gda-data-proxy.c: made find_or_create_row_modif() static
+	* libgda/gda-connection.c: made build_downstream_context_templates() and
+	build_upstream_context_templates() static
+	* README: point to the COPYING and COPYING.LIB files for the actual GPL and
+	LGPL text
+
+2008-09-25  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-server-provider-extra.[ch]: new gda_select_alter_select_for_empty()
+	functions
+	* tools/gda-sql.c:
+	* tools/information-schema-doc.c:
+	* testing/gda-provider-status.c:
+	* libgda-xslt/sql_backend.c:
+	* libgda/gda-util.c:
+	* libgda/gda-server-provider.c: use xmlNewTextChild instead of xmlNewChild when necessary
+	* libgda/gda-statement.h: new GDA_STATEMENT_MODEL_ALLOW_NOPARAM flag
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/sqlite/gda-sqlite-recordset.[ch]:
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/gda-data-select.c: allow SELECT statement execution with invalid parameters
+	to return an empty data model (if GDA_STATEMENT_MODEL_ALLOW_NOPARAM is set), in which
+	case changing a parameter will re-run the SELECT, for bug #552708
+	* libgda/gda-server-operation.c: bug fixed
+	* libgda/gda-data-model-iter.c: bug fixed in GdaHolder's properties
+	* tests/: tests updates
+	* libgda/gda-connection.c:
+	* doc/C: doc. updates
+
+2008-09-23  Vivien Malerba <malerba gnome-db org>
+
+	* sqlite/gda-sqlite-recordset.c: correctly handle the situation when the object
+	is created with col_types specified
+	* libgda/gda-data-model-iter.c: behave correctly when the data model emits the "reset" signal
+	* libgda/gda-data-select.[ch]:
+	  - implemented in place re-running the SELECT statement
+	    when on of the SELECT's parameters changes (this feature is optional, use the "auto-reset"
+	    property to activate it), for bug #552708
+	  - other corrections
+	* libgda/gda-data-model-query.[ch]: removed now redundant object
+	* tests/data-models/: removed the check_model_query test and added test to check_pmodel
+	* libgda/gda-data-proxy.c:
+	* libgda/libgda.h.in: updates due to the removal of the GdaDataModelQuery object
+	* libgda/gda-data-proxy.c: free'd memory access bug corrected in commit_row_modif()
+	* WixInstaller/make-zip-exe.sh: updated the generated archive's name
+	* libgda/providers-support/gda-pstmt.c
+	* doc/C: documentation updates and improvements
+
+2008-09-20  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-meta.c:
+	* libgda/gda-meta-struct.c: bugs fixed
+	* tools/Makefile.am: also distribute the gda-sql.ico file
+	* tools/gda-sql.c:
+	* tools/command-exec.[ch]:
+	  - correctly handle non threading environment
+	  - removed the non implemented "dq" internal command (use "qa" instead)
+	  - correctly handle the "-C" command line flag
+	  - when commands are executed from a file ("-f" argument), then don't quit when finished
+	    executing the commands.
+	* libgda/sqlite/gda-sqlite-meta.c: corrected a bug in the way "PRAGMA table_info" was used
+	to list all the columns of a table when the schema was not "main".
+	* libgda/sqlite/sqlite-src/sqlite3.c:
+	* libgda/sqlite/sqlite-src/PragmasPatch: reimplemented the "proc_list" PRAGMA to make it
+	work with the current version of SQLite
+	* doc/C: vastly improved the "gda-sql" console tool manual
+
+2008-09-18  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model.c: make gda_data_model_dump() work whith data models which
+	can only be accessed with a cursor
+	* libgda/gda-meta-store.c: handle the 'autoinc' column attribute, and bug fixes
+	* libgda/sqlite/gda-sqlite-ddl.c: correctly handle the "INTEGER PRIMARY KEY AUTOINCREMENT"
+	* doc/C: better documentation for GdaDataProxy
+	* tools/gda-sql.c:
+	  - allow to pass a file name on the command line to open as an SQLite or MDB file
+	  - reorganized "query buffer" commands:
+	    - \e [FILE]: Edit the query buffer (or file) with external editor
+	    - \g [QUERY_BUFFER_NAME]: Execute contents of query buffer, or named query buffer
+	    - \qa: List all saved query buffers in dictionary
+	    - \qd QUERY_BUFFER_NAME: Delete query buffer from dictionary
+	    - \ql QUERY_BUFFER_NAME: Load query buffer from dictionary
+	    - \qp: Show the contents of the query buffer
+	    - \qr [FILE]: Reset the query buffer (fill buffer with contents of file)
+	    - \qs QUERY_BUFFER_NAME: Save query buffer to dictionary
+	    - \qw FILE: Write query buffer to file
+	* tests/data-models/check_pmodel.c: more testing
+
+2008-09-18  Bas Driessen <bas driessen xobas com>
+
+	* doc/C/gettingstarted.xml: correction example code.
+
+2008-09-16  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.99.5
+
+Released 3.99.4
+
+2008-09-16  Vivien Malerba <malerba gnome-db org>
+
+	* NEWS: news for version 3.99.4
+	* libgda/libgda.h.in:
+	* libgda/gda-init.c: added gda_get_application_exec_path()
+	* libgda/gda-connection.[ch]: removed gda_connection_set_dsn()
+	* libgda/gda-data-model.[ch]:
+	  - removed gda_data_model_get_value_at_column()
+	  - removed gda_data_model_is_updatable()
+	* libgda/gda-data-model-iter.[ch]: added gda_data_model_iter_set_value_at()
+	* libgda/gda-data-proxy.[ch]: removed gda_data_proxy_find_row_from_values() as there
+	is already gda_data_model_get_row_from_values() for the same feature
+	* API changes (more consistant naming):
+	  - GdaDataSourceInfo => GdaDsnInfo
+	  - gda_connection_get_provider_obj() => gda_connection_get_provider()
+	  - gda_config_get_dsn() => gda_config_get_dsn_info()
+	  - gda_config_get_provider_object() => gda_config_get_provider()
+	  - gda_connection_get_provider_obj() => gda_connection_get_provider()
+	* po/: ran "make update-po"
+
+2008-09-15  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C: documentation improvements regarding data validation and programmer's control
+	* libgda/gda-holder.[ch]: renamed the "before-change" signal to "validate-change" (and changed
+	its return value)
+	* libgda/gda-set.[ch]:
+	  - changed the "before-holder-change" to "validate_holder_change"(and changed
+	    its return value)
+	  - added a "validate-set" signal
+	  - the gda_set_is_valid() method has been changed to emit the "validate-set" signal
+	    before it returns a value.
+	* libgda/gda-data-model-iter.[ch]: removed the "row-to-change" signal (it now uses the
+	GdaSet::validate-set signal), and the gda_data_model_iter_can_be_moved() method
+	* libgda/gda-server-operation.c:
+	* libgda/gda-data-model.c: adaptations to the API Changes
+	* libgda/gda-data-proxy.[ch]:
+	  - adaptations to the API Changes,
+	  - renamed the	"pre-changes-applied" signal to "validate-row-changes" (and changed
+	    its return value)
+	  - renamed the "post-changes-applied" signal to "row-changes-applied"
+	  - bug correction in gda_data_proxy_get_n_rows()
+	* libgda/gda-marshal.list: new signals' signatures
+	* libgda/gda-data-comparator.c: added assertions
+	* libgda/gda-connection.c: don't remove items from a GHashTable while in g_hash_table_foreach(),
+	this is probably the reason for bug #545979
+	* libgda/gda-value.c: corrected the gda_value_differ() function
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c: corrected the virtualNext() method which
+	moves SQLite's internal cursor forward
+	* libgda/gda-data-model-iter.[ch]: renamed gda_data_model_iter_set_at_row() to
+	gda_data_model_iter_move_at_row()
+	* libgda/Makefile.am:
+	* libgda/gda-data-model-iter-extra.h: new file
+	* libgda/gda-data-model-extra.h:
+	* libgda/gda-data-model-private.h:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-data-select.c:
+	* libgda/sqlite/virtual/virtual-test.c:
+	  - moved the code which implements the GdaDataModelIter
+	    movements (forward, backward and to a row) to the gda-data-model-iter.c file
+	  - renamed gda_data_model_move_iter_at_row_default() to gda_data_model_iter_move_at_row_default()
+	  - renamed gda_data_model_move_iter_next_default() to gda_data_model_iter_move_next_default()
+	  - renamed gda_data_model_move_iter_prev_default() to gda_data_model_iter_move_prev_default()
+	* libgda/sqlite/sqlite-src/: up to version 3.6.2
+	* tests/value-holders/: adaptations to the API Changes
+
+2008-09-09  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/virtual/gda-virtual-connection.c:
+	* libgda/sqlite/gda-sqlite-recordset.c:
+	* libgda/gda-column.[ch]:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model-array.c: removed gda_column_[gs]et_table(), gda_column_[gs]et_caption(),
+	gda_column_[gs]et_scale(), gda_column_[gs]et_primary_key(), gda_column_[gs]et_unique_key(),
+	gda_column_[gs]et_references() and gda_column_[gs]et_defined_size() as they were useless
+	* libgda-report/engine/gda-report-engine.c: forgot to rename "spec-file" to "spec-filename"
+	property
+	* libgda/gda-data-select.c: added a "select-stmt" property to retreive (if available), the
+	GdaStatement object which was executed in order to created the GdaDataSelect data model.
+	* libgda/gda-data-model-iter.c: when the data model the iterator will be for is a GdaDataSelect,
+	then use the SELECT statement to set some holder's properties (such as NOT NULL and default value),
+	contributes to fixing bug #551058
+	* libgda/sqlite/gda-sqlite-recordset.c: don't set GdaColumn's properties as we can't determine them
+	correctly at this point, contributes to fixing bug #551058
+	* libgda/sqlite/virtual/gda-virtual-connection.c: added missing header file
+	* libgda/gda-data-select.c:
+	* libgda/gda-data-model-dsn-list.c: correctly implement the get_value_at() virtual method
+	* libgda/gda-util.c: bug fixed in gda_compute_unique_table_row_condition()
+	* tests/: tests update
+	* doc/C: doc. update
+	* libgda/gda-data-model.h:
+	* all GdaDataModel's implementations: added a new virtual method "i_iter_set_value" to
+	allow data modifications from a GdaDataModelIter
+	* libgda/gda-holder.[ch]:
+	* libgda/gda-set.[ch]: added GdaHoler "before-change" and GdaSet "before-holder-change" signals
+	to enable control over the values a GdaHolder can have
+	* libgda/gda-data-model-iter.c: use the new GdaDataModel's "i_iter_set_value" virtual method and
+	GdaSet's new signal
+	* Altered all the signal's names to use the '-' instead of '_'
+	* tools/gda-list-server-op.c: compilation warnings fixes
+
+2008-09-08  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-query.c: re-run the SELECT statement when any parameter
+	required to execute it changes
+	* libgda/gda-data-select.c: iterator related fixes, and don't change the GdaHolder's
+	not NULL attribute when moving an iterator (it's not needed as this is set when the
+	iterator was first created)
+	* libgda/gda-data-select.h:
+	* libgda/gda-set.h: removed unused error codes
+	* tests/data-models: more testing
+	* providers/postgres/gda-postgres-recordset.c:
+	* tests/data-models/check_data_proxy.c:
+	* samples/SqlParserConsole/graph.c:
+	* libgda-report/engine/gda-report-engine.c:
+	* libgda-report/DocBook/gda-report-docbook-document.c:
+	* libgda/sqlite/virtual/gda-virtual-connection.c:
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c:
+	* libgda/sqlite/virtual/gda-vconnection-data-model.c:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-data-select.c:
+	* libgda/gda-set.c:
+	* libgda/gda-config.c:
+	* libgda/gda-connection.c:
+	* libgda/gda-data-model-bdb.c:
+	* libgda/gda-meta-store.c:
+	* libgda/gda-holder.c:
+	* libgda/gda-row.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-data-model-iter.c: all signal names now only use the '-' and not '_', and
+	renamed the "provider_obj" to "provider", "user-file" to "user-filename",
+	"system-file" to "system-filename" and "spec-file" to "spec-filename"
+	* libgda/gda-data-model-iter.c:
+	* doc/C: documentation updates
+
+2008-09-07  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-select.[ch]:
+	* tests/data-models/check_pmodel.c: correctly handle the situation where the value
+	of the primary key (or the column which composes the unique row condition) is modified,
+	and added a "safety lock" feature which prevents further modification to the data model
+	if the unique row condition is incorrect
+	* doc/C: documentation improvements, and now the generated file when running "make PDF"
+	is libgda-4.0-doc.pdf (for the V4 ABI).
+	* libgda/sqlite/virtual/gda-vconnection-hub.c: no need anymore to use a GdaDataModelQuery
+	object
+	* libgda/Makefile.am:
+	* libgda/gda-data-select-extra.h:
+	* libgda/gda-data-select.[ch]: enable "exporting" all the statements and other information
+	computed while the object was being used to be used by the new GdaDataModelQuery
+	implementation
+	* libgda/gda-data-model-query.[ch]: re-wrote the object to use the GdaDataSelect's features
+	instead or re-implementing them in the object
+	* libgda/tests/data-models/Makefile.am:
+	* libgda/tests/data-models/check_model_query.c: new GdaDataModelQuery test
+	* libgda/tests/data-models/check_pmodel.c: new tests
+
+2008-09-05  Bas Driessen <bas driessen xobas com>
+
+	* providers/skel-implementation/capi/parser.y:
+	* providers/firebird/parser.y:
+	* providers/mysql/parser.y:
+	* providers/postgres/parser.y:
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/gda-meta-store.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/sql-parser/gda-statement-struct.c:
+	* libgda/sql-parser/parser.y:
+	* libgda/sql-parser/gda-statement-struct-parts.c:
+	* libgda/sql-parser/gda-statement-struct-parts.h:
+	* libgda/gda-data-select.c:
+	* libgda/gda-util.c:
+	* libgda/gda-statement.c: Do not use the C++ reserved words 'using'
+	and 'operator' as object names.
+
+2008-09-04  Vivien Malerba <malerba gnome-db org>
+
+	API improvements and cleanups:
+
+	* Utility functions changes:
+	  removed gda_value_compare_ext() as it has no real use and is confusing
+	  renamed gda_value_bcompare() gda_value_differ()
+	* GdaDataModel interface changes:
+	  added a "GError **error" as last argument of gda_data_model_get_value_at () because it's
+	     the only way of reporting and correctly handling data access errors, and added
+	     gda_data_model_get_typed_value_at() which gives more control of the returned value
+	  renamed gda_data_model_get_column_index_by_name() to gda_data_model_get_column_index()
+	  renamed gda_data_model_get_value_at_col_name() to gda_data_model_get_value_at_column()
+	* GdaHolder object changes: added a GError argument to:
+	  gda_holder_set_value()
+	  gda_holder_take_value()
+	  gda_holder_set_value_str()
+	  gda_holder_set_bind()
+	* GdaSet object changes: added a GError argument to gda_set_set_holder_value()
+	* GdaDataAccessWrapper changes: removed gda_data_access_wrapper_row_exists() as it was useless
+
+	Misc doc improvements.
+
+2008-09-01  Vivien Malerba <malerba gnome-db org>
+
+	* providers/skel-implementation/capi/gda-capi-recordset.c:
+	* providers/firebird/gda-firebird-recordset.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/postgres/gda-postgres-recordset.c:
+	* libgda/sqlite/gda-sqlite-recordset.c:
+	* libgda/gda-data-model-dir.c:
+	* libgda/gda-data-model-bdb.c:
+	* libgda/gda-data-model-array.c: harmonized error messages
+
+2008-09-01  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-select.h: fixes compilation of programs using Libgda
+	* libgda/gda-connection.c: lock the connection before executing a statement
+
+2008-08-31  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/sql-parser/gda-sql-parser.c: memory leaks fixes, for bug #549953
+
+2008-08-30  Vivien Malerba <malerba gnome-db org>
+
+	Renamed GdaPModel to GdaDataSelect (also changed the source files to libgda/) and
+	updated the documentation.
+
+2008-08-29  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C/tmpl/gda-pmodel-user.sgml: adding mising file
+	* tests/data-models/Makefile.am:
+	* tests/data-models/check_pmodel.c: corrections to have "make distcheck" run
+
+2008-08-28  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/handlers/gda-handler-numerical.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-set.c:
+	* libgda/gda-util.c:
+	* libgda/gda-init.c: set the global variables gda_numeric_locale and gda_lang_locale
+	when calling gda_init() and use those variables whenever setlocale() was called to fetch
+	those locale values
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/postgres/gda-postgres-recordset.c: correctly restore
+	the user LC_NUMERIC locale after having altered it (thanks to Tim Lapawa)
+	* libgda/gda-util.c: understand the "time" and "timestamp" datatypes
+	as synonyms for "GdaTime" and and "GdaTimestamp"
+	* libgda/gda-value.c: reset a value before copying the other value's contents
+	* libgda/providers-support/gda-pmodel.[ch]: improvements to modifiable
+	data models (working now are gda_data_model_set_value_at(), gda_data_model_remove_row() and
+	gda_data_model_append_values())
+	* tests/data-models: updates to the check_pmodel test
+	* libgda/gda-holder.c: speed improvement in gda_holder_set_value_str(), and avoid mem leak in
+	some circumnstances
+	* libgda/sql-parser/gda-sql-parser.c: fix to remove a warning
+	* libgda/gda-connection.[ch]: removed gda_connection_add_events_list() as it was not used and
+	did not behave in an usual way regarding its input arguments, moved gda_connection_add_event(),
+	gda_connection_add_event_string() and gda_connection_clear_events_list() to the providers' API
+	* libgda/gda-connection.c: automatically clear the events list before executing any new
+	statement (see bug #545977)
+	* libgda/gda-connection.c: fix for bug #545979
+	* libgda/gda-data-model-query.c: applied patch for bug #546230 (thanks to Carl-Anton Ingmarsson)
+	* libgda/gda-data-model-array.c: fixed the set_values() method (ignore NULL values)
+	* providers/mysql/gda-mysql-provider.c: modified string to translate to make it easier to
+	understand (for bug #549498)
+	* libgda/gda-meta-struct.[ch]: added an "extra" attribute to the GdaMetaTableColumn structure
+	to hold extra column's info such as AUTO_INCREMENT
+	* libgda/gda-meta-struct-io.c: fill in the new GdaMetaTableColumn's "extra" attribute
+	* tools/command-exec.c: added an "Extra" column when listing the columns of a table
+	* libgda/gda-enums.h: #define possible values for extra attributes: EXTRA_AUTO_INCREMENT for now
+	* tests/gda-ddl-creator.c:
+	* tools/command-exec.c:
+	* providers/postgres/gda-postgres-meta.c:
+	* libgda/gda-meta-struct-io.c:
+	* libgda/sqlite/gda-sqlite-meta.c: use EXTRA_AUTO_INCREMENT
+	* libgda/gda-set.c: bug fixed in gda_set_get_spec()
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/postgres/gda-postgres-provider.c: set the "name" property of the individual GdaHolder
+	objects in the last_inserted_row set returned when an INSERT statement is executed
+	* providers/mysql/gda-mysql-provider.c: set last_inserted_row to NULL when a statement is executed
+	(the feature is not yet implemented)
+	* libgda/sqlite/sqlite-src: up to version 3.6.1
+	* po/: ran "make update-po"
+	* other files: documentation updates
+
+2008-08-15  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql: updates to the MySQL provider (Carlos Savoretti)
+	* libgda/gda-set.c:
+	* libgda/gda-connection.c:
+	* libgda/sql-parser/gda-statement-struct.c: fixes memory leaks
+	for bug #545977
+	* libgda/gda-statement.c:
+	* libgda/gda-util.c:
+	* libgda/sql-parser/gda-statement-struct-pspec.[ch]: removed the "type" attribute from
+	the GdaSqlParamSpec structure as it was redundant with the "g_type" one
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/skel-implementation/capi/gda-capi-provider.c:
+	* libgda/sqlite/gda-sqlite-provider.c: check that parameters are valid when executing
+	a statement
+	* libgda/gda-data-model.h: added GdaDataModel error code
+	* libgda/gda-connection-private.h:
+	* libgda/gda-connection.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/skel-implementation/capi/gda-capi-provider.c:
+	explicitely declare prepared statements as GdaPStmt objects
+	instead of generic gpointer
+	* tests/test-cnc-utils.[ch]: added a function to load data
+	from a file into a table
+	* tests/meta-store.c: test corrections due to meta store internal's schema changes
+	* libgda/providers-support/gda-pmodel.[ch]:
+	* libgda/sqlite/gda-sqlite-recordset.[ch]:
+	* providers/mysql/gda-mysql-recordset.[ch]:
+	* providers/postgres/gda-postgres-recordset.[ch]:
+	* providers/skel-implementation/capi/gda-capi-recordset.[ch]:
+	* tests/data-models/Makefile.am:
+	* tests/data-models/check_pmodel.c: new test for the GdaPModel
+	data model (the base class for all the data models returned
+	by providers after a SELECT) for the updatable property
+	* doc/C:
+	* misc files: doc updates
+
+
+2008-07-28  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite-recordset.c:
+	* providers/firebird/gda-firebird-recordset.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/postgres/gda-postgres-recordset.c:
+	* providers/skel-implementation/capi/gda-capi-recordset.c:
+	* libgda/providers-support/gda-pmodel.[ch]:
+	* libgda/providers-support/gda-prow.[ch]:
+	* libgda/gda-data-model-row.[ch]: overwrote the current GdaRow implementation
+	with the GdaPRow one, and removed GdaPRow
+	* libgda/gda-data-access-wrapper.c:
+	* libgda/gda-data-model-row.[ch]:
+	* libgda/gda-data-model-array.[ch]: reimplemented GdaDataModelArray without using
+	the GdaDataModelRow object (which has been removed)
+	* libgda/gda-data-model.h: new error code
+	* libgda/gda-config.c: added missing header
+	* tests/data-models/check_data_proxy.c: corrected test
+	* po/POTFILES.in: removed non existent files, and ran "make update-po"
+	* doc/C: doc updates
+
+2008-07-27  Vivien Malerba <malerba gnome-db org>
+
+	* WixInstaller/make-zip-exe.sh: new script to create a .ZIP file containing
+	the minimum files required to execute gda-sql
+	* libgda/gda-data-model-import.c: fixed a crasher bug when the XML file being imported
+	has the wrong XML structure
+	* libgda/sqlite/sqlite-src/: up to version 3.6.0
+	* tests/: multiple improvements and corrections
+	* libgda/sqlite/gda-sqlite-recordset.c: correctly handle time and data values, and corrected
+	a bug related to NULL values
+	* libgda/gda-util.[ch]: new functions: gda_parse_iso8601_date(),
+	gda_parse_iso8601_time() and gda_parse_iso8601_timestamp(), implementation is very simple at
+	the moment
+	* libgda/gda-value.c: use the new gda_parse_iso8601*() functions in gda_value_set_from_string()
+	and the static set_from_string() function, and better explicit documentation
+	* libgda/sqlite/virtual/gda-vconnection-data-model.c: fixed the gda_vconnection_data_model_foreach()
+	function where it would not call the provided function if no data model had been associated
+	to the table
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c: better data type mapping
+	* tools/gda-sql.c: query buffer (the one which stores the last executed query) is now per
+	connection and not global anymore, and initial meta data retreival is done
+	in background (sub thread) if possible
+	* libgda/sqlite/utils.c:
+	* libgda/sqlite/gda-sqlite.h: new utility function
+	* libgda/sqlite/gda-sql-meta.c:
+	* providers/postgres/gda-postgres-meta.c: finished implementing meta data extraction
+	* libgda/sqlite/gda-sql-provider.c: minor bug fixes, explicitely enable multi
+	threading support and better support for date, time and timestamp data types
+	* libgda/gda-server-provider.h: new error code
+	* libgda/information_schema.xml: documented some fields, and added an "nb_args"
+	attributes to the "_routines" table
+	* providers/mdb/gda-mdb-provider.c: better date handling, assume "." for DIR_NAME in
+	a connection string if not provided
+	* doc/C: new gda-sql command manual, and minor other improvements
+	* other files: bug fixes, or debug code desacivated
+
+2008-07-17  Vivien Malerba <malerba gnome-db org>
+
+	* libgda-xslt/Makefile.am:
+	* configure.in:
+	* libgda/gda-config.c: applied patches for bug #541991 (thanks to Cygwin Ports maintainer)
+	* providers/mysql/libmain.c:
+	* providers/mysql/gda-mysql-meta.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-meta.h:
+	* providers/mysql/gda-mysql-parser.c: another set of improvements to the MySQL provider
+	(thanks to Carlos Savoretti)
+	* tests/Makefile.am:
+	* tests/multi-threading/*:
+	* configure.in:
+	* libgda/gda-mutex.[ch]:
+	* libgda/Makefile.am:
+	* libgda/libgda.h.in: created the GdaMutex mutex which is dynamically
+	allocated and recursive
+	* libgda/Makefile.am:
+	* libgda/libgda.h.in:
+	* libgda/gda-lockable.[ch]: new GdaLockable interface to be used to lock objects
+	* sql-parser/gda-sql-parser-private.h:
+	* libgda/sql-parser/gda-sql-parser.c:
+	* libgda/gda-connection.c: implement the GdaLockable interface (GdaSqlParser no
+	uses a GdaMutex per GdaSqlParser instance instead of a global recursive mutex)
+	* tests/Makefile.am
+	* tests/multi-threading/: new multi threaded environment tests
+	* tests/data-models/check_data_proxy.c: correctly specify the GType type
+	in functions using an ellipse for 64 bits OS
+	* tests/data-models/Makefile.am:
+	* tests/data-models/data1.xml:
+	* tests/data-models/check_model_copy.c: test data model copy
+	* tests/data-models/check_model_import.c: also test data models in current
+	directory
+	* libgda/gda-set.c: make gda_set_real_add_holder() show a warning if the data
+	holder to add does not have any ID instead of crash
+	* libgda/gda-data-model-iter.c: use ID attribute of data model column
+	* libgda/gda-data-comparator.c: corrected the "diff_computed" signal accumulator
+	* libgda/gda-data-model.c: better determmine column and data model names when exporting
+	to XML, and corrected a bug in the data model import function
+	* doc/C: doc. updates
+	* tools/gda-sql.ico:
+	* tools/gda-sql-res.rc:
+	* tools/Makefile.am: added an icon in the gda-sql executable when compiling for a
+	Windows platform
+
+2008-07-06  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set to version 3.99.4
+
+Released 3.99.3
+
+2008-07-05  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C: doc. updates
+	* providers/firebird: added forgotten files
+	* po/POTFILES.in: added missing files
+	* NEWS: news for version
+
+2008-07-05  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: better detect Berkeley DB in 64 bits environment
+	* libgda/gda-meta-store.c: now caches the parsed SQL when using gda_meta_store_extract()
+	for better performances
+	* libgda/gda-init.c: doc. improvements
+	* libgda/gda-data-model-dir.c:
+	* libgda/gda-data-model-bdb.c: minor correction when setting properties
+	* libgda/gda-data-model-dir.c:
+	* libgda/gda-data-model-dsn-list.c: minor correction related to temporary
+	GValue
+	* libgda-report/engine/gda-report-engine.c:
+	* libgda/gda-easy.c: 64 bits type conversion corrected
+	* libgda/gda-xa-transaction.c: gda_xa_transaction_id_to_string() now returns a
+	new string
+	* other files: improvements to make Libgda behave correclty when multiple
+	threads are used each object is used by one thread only.
+	* libgda-4.0.pc.in: make Libgda depend on the gobject-2.0 module and
+	not only on glib-2.0
+
+2008-07-02  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-meta-struct.[ch]:
+	 - added a "store" property to reference a GdaMetaStore, and use
+	it in any gda_meta_struct_complement*()
+	 - made the db_objects instance	attribute private,
+	 - added gda_meta_struct_get_all_db_objects()
+	 - added an 'outdated' attribute to the GdaMetaDbObject structure
+	which tells if its contents may be outdated (compared to what's in
+	the GdaMetaStore)
+	* libgda/gda-meta-store.c: property doc. fixes, and adaptations
+	to the GdaMetaStruct changes
+	* tools/command-exec.c:
+	* libgda/sql-parser/gda-statement-struct.c: adaptations to
+	the GdaMetaStruct changes
+	* libgda/sql-parser/gda-statement-struct-util.c:
+	* libgda/gda-set.c: minor correction
+	* tools/gda-sql.c: correctly handle query buffer ending with a
+	';', and allow one to connect to the '~' connection to really
+	connect to the GdaMetaStore's connection to work with a connection's
+	meta data
+	* libgda/sql-parser/gda-sql-parser.c:
+	* doc/C: doc. improvements
+
+2008-06-19  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-meta-struct.c:
+	* providers/postgres/gda-postgres-ddl.c: minor corrections
+
+2008-06-19  Vivien Malerba <malerba gnome-db org>
+
+	* providers/firebird: started re-write of Firebird provider
+	* providers/mysql: more work (mainly on the meta data) from
+	Carlos Savoretti
+
+2008-06-15  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/mysql_specs_dsn.xml.in:
+	* providers/mysql/gda-mysql-provider.c: added a COMPRESS option to specify the
+	CLIENT_COMPRESS flag when opening the connection
+	* WixInstaller/*: configuration files to use with the Wix Windows
+	installer to produce .msm and .msi files
+	* configure.in: also use the mysql_config5 program when detecting a
+	MySQL installation
+	* libgda/gda-config.c: crasher fixed
+	* tools/gda-sql.c: better interraction with the Windows console
+	* libgda/binreloc/gda-binreloc.c: cut the last "bin" part of a path
+	under MacOS X
+
+2008-06-10  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: if no --with-postgres or --with-mysql are passed to the configure
+	script, then try to find PotgreSQL or MySQL
+	* libgda/gda-connection.c:
+	* libgda/gda-data-model-dsn-list.c:
+	* libgda/gda-data-model-query.c:
+	* libgda/gda-init.c:
+	* libgda/gda-meta-store.c:
+	* libgda/gda-meta-struct.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-provider-extra.c:
+	* libgda/gda-util.c:
+	* libgda/gda-xa-transaction.c:
+	* libgda/handlers/gda-handler-bin.c:
+	* libgda/handlers/gda-handler-boolean.c:
+	* libgda/handlers/gda-handler-numerical.c:
+	* libgda/handlers/gda-handler-time.c:
+	* libgda/handlers/gda-handler-type.c:
+	* libgda/sqlite/gda-sqlite-handler-bin.c:
+	* libgda/gda-data-access-wrapper.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-data-model-dir.c:
+	* libgda/gda-data-model-row.c:
+	* libgda-report/DocBook/gda-report-docbook-document.c:
+	* libgda-report/RML/gda-report-rml-document.c:
+	* libgda-report/gda-report-document.c:
+	* providers/mysql/mysql_specs_create_db.xml.in:
+	* providers/mysql/mysql_specs_create_table.xml.in:
+	* providers/postgres/postgres_specs_create_db.xml.in:
+	* providers/sqlite/sqlite_specs_create_index.xml.in:
+	* providers/sqlite/sqlite_specs_create_index.xml.in:
+	* providers/sqlite/sqlite_specs_create_table.xml.in:
+	* providers/mdb/mdb_specs_dsn.xml.in:
+	* tools/gda-sql.c:
+	* libgda-report/engine/gda-report-engine.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/postgres/gda-postgres-provider.c: corrections for bug #537117
+	* po/*: updated translation strings
+	* libgda/gda-batch.[ch]: s/gda_batch_new_copy/gda_batch_copy/, and added gda_batch_get_parameters(),
+	similar to gda_statement_get_parameters()
+	* libgda/gda-set.[ch]: make gda_set_add_holder() return TRUE if the holder has
+	really been added to the set
+	* libgda/gda-connection.c: implemented gda_connection_batch_execute(), corrects bug #537558
+
+2008-06-09  Vivien Malerba <malerba gnome-db org>
+
+	* po/LINGUAS:
+	* configure.in: applied (slightly modified) patch for bug #536971 (thanks to Yuriy Penkin)
+	* po/POTFILES.in:
+	* po/POTFILES.skip: updated lists of files
+	* tools/gda-list-server-op.c:
+	* doc/C/:
+	* testing/gda-provider-status.c:
+	* libgda/gda-server-operation.[ch]:
+	* libgda/gda-server-provider.c: s/GDA_SERVER_OPERATION_NB/GDA_SERVER_OPERATION_LAST/
+	* testing/html.c: better output
+	* libgda/gda-value.c:
+	* libgda/gda-config.c:
+	* providers/mysql/gda-mysql.h:
+	* tools/gda-list-config.c:
+	* libgda/gda-data-model-bdb.c:
+	* configure.in: better detection of providers' libraries (specifically when cross
+	compiling with Mingw)
+	* providers/mysql/libmysql.def: file containing exported symbols for Win32 cross compiling
+	with Mingw
+	* providers/bdb/patch_db.h: patch to apply to db.h when compiling with MinGW
+	* providers/postgres/gda-postgres-ddl.c: implemented missing parts
+	* libgda/gda-config.c:
+	* libgda/gda-connection.c:
+	* libgda/gda-data-model-bdb.c:
+	* libgda/gda-data-model.c: some fixes for bug #537117
+
+2008-06-04  Vivien Malerba <malerba gnome-db org>
+
+	* po/POTFILES.in:
+	* po/POTFILES.skip: updated lists of files
+	* libgda/gda-connection.h: added GDA_CONNECTION_FEATURE_XA_TRANSACTIONS
+	* testing/html.[ch]:
+	* testing/Makefile.am:
+	* testing/gda-provider-status.c: new program to report about the
+	implementation of database providers (generates an HTML report)
+	this program is not installed by 'make install'
+	* providers/mysql: more work on the MySQL provider (thanks to Carlos
+	 Savoretti)
+
+2008-06-04  Johannes Schmid <jhs gnome org>
+
+	* libgda/sql-parser/Makefile.am:
+	Added rules to generate gda-sql-parser-enum-types.[ch], fixes bug #536418
+
+2008-06-03  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: use pg_config if possible to get PostgreSQL's
+	compilation arguments
+	* providers/postgres/gda-postgres-meta.c: check that the server's
+	version is at least 8.2 before using pg_is_other_temp_schema() in SQL
+	* libgda/Makefile.am:
+	* libgda/gda-xa-transaction.[ch]: new distributed transaction manager
+	* libgda/gda-server-provider.[ch]:
+	* libgda/libgda.h.in:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/skel-implementation/capi/gda-capi-provider.c: support for
+	the new distributed transaction manager object
+	* doc/C: doc updates
+
+2008-06-01  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/gda-server-operation.c: applied patch to fix mem leaks (thanks to
+	Phil Longstaff)
+	* providers/mysql/mysql_specs_create_table.xml.in: applied patch to fix the CREATE TABLE
+	operation (thanks to Phil Longstaff)
+	* libgda/gda-util.[ch]: applied patch for bug #534805 (thanks to Johannes Schmid)
+	* configure.in:
+	* libgda/binreloc/gda-binreloc.c: implemented binary relocation under Mac OS X
+	* configure.in:
+	* libgda/gda-data-model-dir.c: detect if GIO is available and
+	use it instead of GnomeVFS
+
+2008-05-22  Vivien Malerba <malerba gnome-db org>
+
+	* tests/providers/prov-test-util.c: applied patch to improve
+	authentication (Carlos Savoretti)
+	* libgda/gda-connection.c: get rid of all the prepared statements before
+	closing the connection, and not when the connection object is disposed
+	to prevent an error
+	* libgda/sqlite/sqlite-src/: up to version 3.5.9
+
+2008-05-20  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-connection.c: applied patch to fix mem leak (thanks to
+	Phil Longstaff)
+	* libgda/gda-data-model.c:
+	* libgda/gda-util.c:
+	* libgda/gda-data-model-array.c: cosmetic changes
+
+2008-05-14  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-config.c: automatically correct spelling mistakes in
+	provider name, and correctly alphabetically order the DSN list
+	* libgda/gda-easy.c: don't warn if database name is NULL in gda_prepare_create_database()
+	and gda_prepare_drop_database()
+	* providers/mysql/gda-mysql.h: reset the provider's name to "MySQL"
+	* doc/C/Makefile.am:
+	* providers/mysql/Makefile.am: fixed "make distcheck" problem
+	* providers/postgres/postgres_specs_dsn.xml.in: doc improvement
+	* libgda/gda-connection.h: removed GDA_CONNECTION_FEATURE_XML_QUERIES and added
+	GDA_CONNECTION_FEATURE_LAST to set the last feature ID
+	* tests/meta-store/common.c: removed some useless test
+	* tests/parser/check_normalization.c:
+	* tests/parser/check_validation.c:
+	* tests/parser/check_dml_comp.c:
+	* tests/parser/Makefile.am: correctly set up the test environment so that "make distcheck"
+	works
+	* libgda/sqlite/gda-sqlite-provider.c: applied patch by Carlos Savoretti to handle
+	the G_TYPE_LONG type
+	* libgda/gda-statement.[ch]: added a GDA_STATEMENT_SQL_PARAMS_AS_UQMARK flag to
+	render variables in statements as a single "?"
+	* configure.in:
+	* tools/command-exec.c:
+	* tools/gda-sql.c:
+	* tools/tools-input.c: READLINE and HISTORY libraries detection made easier
+
+2008-04-30  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-util.c: also encode the '=' char in gda_rfc1738_encode()
+	* providers/mysql/gda-mysql-meta.c:
+	* providers/mysql/gda-mysql-recordset.c: improved MySQL provider (thanks
+	to Carlos Savoretti)
+	* libgda/libgda.h.in:
+	* tools/gda-list-server-op.c:
+	* tools/gda-list-config.c:
+	* tools/gda-sql.c:
+	* tests/meta-store/check_meta_store_sqlite.c:
+	* tests/meta-store/check_meta_store_postgresql.c:
+	* tests/meta-store/check_meta_store_mysql.c:
+	* tests/meta-store/check_meta_store_memory.c:
+	* tests/data-models/check_virtual.c:
+	* tests/data-models/check_data_proxy.c:
+	* tests/data-models/check_model_import.c:
+	* tests/value-holders/check_statement.c:
+	* tests/value-holders/check_set.c:
+	* tests/value-holders/check_holder.c:
+	* tests/parser/check_normalization.c:
+	* tests/parser/check_validation.c:
+	* tests/parser/check_dml_comp.c:
+	* tests/parser/check_parser.c:
+	* tests/providers/check_sqlite.c:
+	* tests/providers/check_oracle.c:
+	* tests/providers/check_odbc.c:
+	* tests/providers/check_msql.c:
+	* tests/providers/check_ldap.c:
+	* tests/providers/check_firebird.c:
+	* tests/providers/check_sybase.c:
+	* tests/providers/check_bdb.c:
+	* tests/providers/check_mdb.c:
+	* tests/providers/check_xbase.c:
+	* tests/providers/check_mysql.c:
+	* tests/providers/check_postgres.c:
+	* tests/providers/check_freetds.c:
+	* tests/providers/check_ibmdb2.c:
+	* doc/C/libgda-4.0-sections.txt:
+	* doc/C/gettingstarted.xml:
+	* doc/C/tmpl/libgda.sgml:
+	* doc/C/examples/full_example.c:
+	* providers/sybase/main.c:
+	* providers/bdb/gda-bdb-test.c:
+	* providers/mysql/gda-mysql-meta.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* testing/gda-test-blob.c:
+	* libgda/sqlite/virtual/virtual-test.c:
+	* libgda/gda-init.c:
+	* libgda/gda-connection.c:
+	* samples/SqlParserConsole/console.c:
+	* samples/TableCopy/table-copy.c:
+	* samples/TableCopy/table-copy-easier.c:
+	* samples/DDL/ddl.c:
+	* samples/SimpleExample/example.c:
+	* samples/Virtual/virtual-test.c:
+	* samples/BDB/access-raw.c:
+	* samples/BDB/access-custom.c:
+	* samples/F-Spot/repair-path.c:
+	* samples/DirDataModel/find-duplicates.c:
+	* samples/XSLT/transform.c:
+	* samples/Report/customers-report-rml.c:
+	* samples/Report/customers-report-docbook.c:
+	* samples/Report/customers-report.c: changed the gda_init() signature to
+	void gda_init (void), and removed the gda_main_run() and gda_main_quit()
+	functions
+	* libgda/gda-data-proxy.[ch]: added gda_data_proxy_set_ordering_column() to
+	enable ordering by a column
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c: correctly name columns
+	when creating the virtual table (add double quotes when necessary)
+	* libgda/sqlite/virtual/gda-vconnection-data-model.c: fixed an object
+	referencing bug
+	* testing/gda-test-connection.c: fixed prepared statements unreferencing
+	bug
+	* libgda/gda-util.c:
+	* libgda/gda-meta-store.c:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/sql-parser/gda-statement-struct-parts.h:
+	* libgda/sql-parser/parser.y:
+	* libgda/sql-parser/gda-statement-struct.c:
+	* libgda/sql-parser/gda-statement-struct-parts.c:
+	* libgda/sql-parser/parser.c:
+	* libgda/gda-statement.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/parser.y:
+	* providers/postgres/parser.c:
+	* providers/mysql/parser.y:
+	* providers/mysql/parser.c:
+	* providers/skel-implementation/capi/parser.y:
+	* providers/skel-implementation/capi/parser.c:
+	* doc/C/xml/gda-sql-statement.xml:
+	* doc/C/libgda-4.0-decl.txt:
+	* doc/C/tmpl/gda-sql-statement.sgml:
+	* doc/C/libgda-4.0-undocumented.txt:
+	* doc/C/libgda-4.0-sections.txt:
+	* doc/C/html/index.sgml:
+	* doc/C/libgda-4.0-decl-list.txt: modifications for bug #527002
+	* libgda/sql-parser/gda-sql-parser.c:
+	* providers/postgres/gda-postgres-pstmt.c:
+	* providers/postgres/gda-postgres-provider.c: fixed mem leak, bug
+	#527012
+	* libgda/gda-data-model-query.c: bug fixes
+	* libgda/gda-set.c: correctly identify a property name
+
+2008-04-27  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-set.[ch]:
+	* libgda/sql-parser/gda-statement-struct-select.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-connection.c:
+	* tools/gda-sql.c: cosmetic changes
+	* tests/value-holders/check_holder.c! corrected test case
+	* libgda/gda-holder.c: fixed a bug in binding an object to another
+	* libgda/gda-meta-struct.h: reorganized the GdaMetaDbObject structure
+	* libgda/gda-config.[ch]: added gda_config_dsn_needs_authentication(),
+	and gda_config_get_dsn() now accepts username:password prepended to the DSN
+	* libgda/sqlite/gda-sqlite-meta.c: corrected the way tables are reported
+	* libgda/sqlite/gda-sqlite-provider.c: now render the FALSE keyword as 0 and
+	TRUE as 1 (this is how SQLite handles booleans)
+	* libgda/gda-meta-store.c:
+	* doc/C: docs. update
+	* libgda/gda-util.c: fixed a bug in the completion function when no proposal
+	exists
+	* libgda/gda-meta-struct.[ch]: added gda_meta_struct_complement_schema() and
+	gda_meta_struct_complement_default() which respectively fast-adds all the objects of a
+	schema or all the objects which can be named without the schema
+	prefix. Also added gda_meta_struct_complement_depend() which add to
+	the object all the database objects on which an object depends.
+
+2008-04-15  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: Rename libext variable to avoid contaminating libtool-2.2
+	variable by same name, for bug #527892 (from Cygwin Ports maintainer)
+	* libgda/gda-connection.c: corrected a bug in gda_connection_get_events(): the
+	returned list is now read-only, the last GdaConnectionEvent being first in the list
+	* libgda/gda-connection-event.c: removed gda_connection_event_free() as
+	g_object_unref() should be used instead, removed gda_connection_event_list_free()
+	and gda_connection_event_list_copy()
+	* libgda/gda-util.[ch]: added a new gda_completion_list_get() function to make
+	Libgda compute a list of possible completions when writinf a SQL statement
+	* tools/command-exec.c:
+	* tools/gda-sql.c:
+	* tools/tools-input.c: improved completion mechanism using gda_completion_list_get()
+	* libgda/sql-parser/gda-statement-struct-util.[ch]:
+	* libgda/gda-meta-struct.[ch]: improved handling of double quoted SQL identifiers
+	* tools/gda-sql.c: removed the -p (Provider name), -s (Data source) and
+	-c (Direct connection string) options: now any number of connection can be opened
+	by listing them one after the other using either a DSN name or a connection string
+	like "PostgreSQL://DB_NAME=mydb"
+	* providers/postgres/gda-postgres-meta.c: bug fixed in the I_STMT_REF_CONSTRAINTS and
+	I_STMT_REF_CONSTRAINTS_ALL statements
+
+	Made a review of the DSN and connection strings in Libgda, and decided to require
+	string encoded using RFC 1738 (Uniform Resource Locators (URL)): the non ascii
+	(and some special characters) must be represented in their "%ab" form where
+	"ab" is their hexa. representation; this will solve problems where DSN and/or
+	auth string must contain some ";" character.
+	* libgda/gda-util.[ch]: added the gda_rfc1738_encode(), gda_rfc1738_decode(),
+	gda_dsn_split() and gda_connection_string_split() functions
+	* libgda/gda-quark-list.c: modified gda_quark_list_new_from_string() and
+	gda_quark_list_add_from_string() to decode the key and value for each pair.
+	* libgda/gda-config.[ch]: use gda_rfc1738_encode() when reading provider name, username
+	and password from config file.
+	* libgda/gda-connection.c: changed gda_connection_open_from_dsn() to accept DSN in
+	the form [<username>[:<password>] ]<DSN> where <username> and <password> are RFC 1738
+	encoded.
+	* libgda/sql-parser/gda-statement-struct-parts.c: applied patch by Daniel Espinosa for
+	bug #528057
+
+2008-04-10  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-meta-struct.c: crash bug fixed
+	* providers/postgres/gda-postgres-meta.c: bug fixed
+	* tools/tools-input.[ch]:
+	* tools/gda-sql.c: implemented rudinentary command completion, and also tests
+	if the direct connection string is in fact a DSN when opening the connection
+
+2008-04-10  Murray Cumming  <murrayc murrayc com>
+
+	* doc/C/prov-writing.xml:
+	* doc/C/tmpl/gda-connection.sgml:
+	* libgda/gda-config.c (gda_config_get_provider_object,
+	  gda_config_list_providers, load_providers_from_dir):
+	* libgda/gda-connection.c (gda_connection_class_init,
+	  gda_connection_get_property, gda_connection_open_from_dsn,
+	  gda_connection_open, gda_connection_get_cnc_string,
+	  gda_connection_get_authentication):
+	* libgda/gda-connection.h (GdaConnectionMetaType):
+	* tools/gda-sql.c (extra_command_manage_cnc): Rename authentification to
+	authentication in API and implementation.
+
+2008-04-10  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C/libgda-4.0-sections.txt:
+	* doc/C/tmpl/gda-pmodel.sgml:
+	* providers/postgres/gda-postgres-recordset.c:
+	* libgda/gda-holder.c:
+	* libgda/gda-data-model-iter.c:
+	* libgda/gda-value.c:
+	* libgda/providers-support/gda-pmodel.[ch]:
+	* libgda/providers-support/gda-prow.c:
+	* libgda/gda-value.h:
+	* libgda/gda-set.c:
+	* libgda/gda-data-model.c: minor tweaks to improve performances
+
+2008-04-09  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-set.c: use a GHashTable to find individual GdaHolder objects by
+	their ID for better performances
+
+2008-04-09  Vivien Malerba <malerba gnome-db org>
+
+	* tools/command-exec.c: removed bogus include
+	* tools/information-schema-doc.c: fixed warnings
+
+2008-04-09  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: corrected some memory leaks, for bug #526748
+	* libgda/gda-connection.c: make gda_connection_get_authentification() return the empty
+	string if the connection has no authentication string rather than NULL
+	* libgda/gda-connection.c: the events list is now stored in reverse order, and the
+	gda_connection_get_events() method returns a copy (in the correct order) of the list, for
+	bug #526818
+	* tools/gda-sql.c: changed the "\dsn_list" command to "\l", when using the "\c" command,
+	passing a connection name starting with '~' will allow one to use the connection associated
+	with the meta data: for example the "\c ~c0" command creates a "~c0" connection which corresponds
+	to the "c0" connection's meta data
+	* tools/command-exec.c: replaced g_strsplit() with a small custom tokenizer which
+	recognizes simple and double quoted strings
+	* tools/Makefile.am:
+	* tools/information-schema-doc.c:
+	* doc/C/i_s_doc.xml: created a (non installed) tool to automatically generate the i_s_doc.xml file which
+	documents the structure of the meta data database.
+	* libgda/information_schema.xml: fixed the "_element_types" table usage and added some descriptions
+	about the tables, views and individual columns
+	* libgda/gda-server-provider.h:
+	* libgda/gda-connection.c: added a new "el_types" meta data method
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/sqlite/gda-sqlite-meta.[ch]:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres-meta.[ch]:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-meta.[ch]:
+	* providers/skel-implementation/capi/gda-capi-provider.c:
+	* providers/skel-implementation/capi/gda-capi-meta.[ch]: implemented (or partially implemented)
+	the new "el_types" meta data method
+	* doc/C: added an empty XSLT extension section, and misc doc. updates
+	* tools/tools/tools-input.c: prepared code completion feature, and correctly initialize history
+
+2008-04-08  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-connection.c (gda_connection_supports_feature):
+	* libgda/gda-row.c (gda_row_copy, gda_row_set_id): Very minor  
+	corrections to documentation.
+
+2008-04-07  Murray Cumming  <murrayc murrayc com>
+
+	* providers/postgres/libmain.c (plugin_init): Make sure that the 
+	module_path string is freed before being reassigned, though this is 
+	probably not the leak that valgrind is reporting here.
+
+2008-04-06  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* providers/Makefile.am:
+	* providers/mysql/*: merged Carlos Savoretti's preliminary MySQL provider's
+	rework
+
+2008-04-06  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-column.c (gda_column_set_default_value):
+	Free default_value with gda_value_free() instead of g_free(), to fix 
+	what valgrind says is a possible leak.
+
+2008-04-06  Vivien Malerba <malerba gnome-db org>
+
+	* samples/XSLT/test.xsl:
+	* samples/XSLT/transform.c:
+	* libgda-xslt/libgda-xslt.h:
+	* libgda-xslt/sqlexslt.c:
+	* libgda-xslt/sql_backend.c:
+	* libgda-xslt/sql_exslt_internal.c:
+	* libgda-xslt/sql_backend.h: applied patch from Pawel Cesar Sanjuan Szklarz to
+	add a new function to the xslt extension libgda-xslt
+
+2008-04-06  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-server-operation.c:
+	* libgda/gda-easy.[ch]: modifications for bug #525877
+	* tests/parser/Makefile.am:
+	* tests/parser/check_validation.c:
+	* tests/parser/check_normalization.c:
+	* tests/parser/check_dml_comp.c: separated the validation check into a strict validation
+	check, a DML command computation from a SELECT command and a "normalization" check
+	* tests/parser/testvalid.xml: more test cases
+	* libgda/sql-parser/: improved GsaSqlStatement structure check, validation, and added
+	gda_sql_statement_normalize() which for example will expand all the '*' fields into the actual
+	list of fields in the table.
+	* libgda/gda-util.[ch]: added gda_identifier_equal() to compare SQL identifiers in
+	a safe way (case insensitive comparison unless double quoted) and gda_identifier_hash()
+	which computes a hash for an identifier (both can be used as base functions for a GHashTable)
+	* providers/skel-implementation/capi/parser.y:
+	* providers/postgres/parser.y:
+	* libgda/sql-parser/parser.y: modified parser to allow the "customers"."id" style syntax
+	* doc/C: misc doc updates
+
+2008-04-03  Murray Cumming  <murrayc murrayc com>
+
+	* providers/postgres/gda-postgres-provider.c
+	  (get_connection_type_list): g_strdup() the initial value of 
+	any_type_oid to avoid possibly freeing a static string.
+	* providers/postgres/libmain.c (plugin_init): Add a comment that the 
+	module path is leaked, but that it is not a big deal.
+
+2008-04-02  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-set.c: fixed a double free problem, for bug #525601
+
+2008-04-02  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite-provider.c: corrected mem leak (thanks to Phil Longstaff)
+	* libgda/gda-connection.c: corrected a mis-usage of variable number of arguments in
+	gda_connection_get_meta_store_data(), possibly fixes bug #524837
+	* libgda/gda-data-comparator.[ch]: new object to make it easy to compare the contents
+	of two data models.
+	* libgda/gda-server-provider.h:
+	* libgda/gda-connection.h:
+	* libgda/Makefile.am:
+	* libgda/libgda.h.in:
+	* libgda/gda-column-index.[ch]:
+	* libgda/gda-data-model-index.[ch]: removed useless code
+	* libgda/gda-data-model.c:
+	* libgda/gda-util.[ch]: removed unused functions: gda_utility_build_encoded_id(),
+	gda_utility_build_decoded_id(), gda_file_load(), gda_file_save(), gda_string_hash_to_list(),
+	and started to implement a new gda_compute_dml_statements() to compute INSERT, DELETE
+	and UPDATE statements corresponding to a SELECT statement (for writable data models)
+	* doc/C: added a HOWTO section for most common tasks, and misc. doc updates
+	* tools/gda-list-server-op.c: corrected version 3.0 to 4.0
+	* libgda/gda-statement.[ch]:
+	* libgda/sql-parser/gda-statement-struct.c: s/statement_check_connection/statement_check_validity/
+	for easier API understanding
+	* libgda/sql-parser/gda-statement-struct.[ch]:
+	* gda-statement-struct-parts.[ch]:
+	* gda-statement-struct-pspec.h: when validating a statement, first make sure it has a correct
+	structure, and then use a GdaMetaStruct object to find references to database objects.
+	* tests/parser/Makefile.am:
+	* tests/parser/testvalid.xml:
+	* tests/parser/check_validation.c: added a new test to verify statement validation and
+	computed (INSERT, UPDATE, DELETE) statements from SELECT statement
+	* libgda/gda-easy.[ch]:
+	* libgda/gda-init.c:
+	* libgda/gda-connection.[ch]: applied patch from Daniel Espinosa to implement the
+	gda_prepare_drop_table(), gda_perform_drop_table(), gda_prepare_create_table(),
+	gda_perform_create_table() and gda_connection_create_operation(), and also implemented
+	the gda_connection_perform_operation(), see bug #525603
+	* providers/postgres/gda-postgres-meta.c: code cleanup
+	* libgda/sql-parser/gda-statement-struct-*: added a check_validity() method which
+	can be implemented by some kind of statement to validate a statement using a
+	connection's meta data
+	* tests/parser/testvalid.xml:
+	* tests/parser/check_validation.c: new test for statement validation purposes
+
+2008-03-26  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-config.c: don't write a warning when configuration file does not load, and use
+	the GDA_TOP_BUILD_DIR environment variable if set (instead of GDA_PROVIDERS_ROOT_DIR) to
+	find database providers (used when running check tests)
+	* libgda/gda-meta-store.c: use the GDA_TOP_SRC_DIR environment variable if set to find
+	the information_schema.xml file (used when running check tests)
+	* libgda/gda-init.c: use the GDA_TOP_SRC_DIR environment variable if set to find
+	the DTD files (used when running check tests)
+	* tests/meta-store/Makefile.am:
+	* tests/meta-store/common.c:
+	* tests/meta-store/check_meta_store_sqlite.c:
+	* tests/meta-store/check_meta_store_postgresql.c:
+	* tests/meta-store/check_meta_store_mysql.c:
+	* tests/meta-store/check_meta_store_memory.c:
+	* tests/providers/check_sqlite.c:
+	* tests/providers/check_oracle.c:
+	* tests/providers/check_odbc.c:
+	* tests/providers/check_msql.c:
+	* tests/providers/check_ldap.c:
+	* tests/providers/check_firebird.c:
+	* tests/providers/check_sybase.c:
+	* tests/providers/check_bdb.c:
+	* tests/providers/check_mdb.c:
+	* tests/providers/check_xbase.c:
+	* tests/providers/check_mysql.c:
+	* tests/providers/check_postgres.c:
+	* tests/providers/Makefile.am:
+	* tests/providers/check_freetds.c:
+	* tests/providers/check_ibmdb2.c: set the GDA_TOP_SRC_DIR and GDA_TOP_BUILD_DIR
+	environment variables
+	* doc/C: doc. updates
+	* libgda/gda-config.c: restored the V3 behaviour of creating the ${HOME}/.libgda config
+	dir if it does not yet exist.
+	* libgda/gda-data-model-dsn-list.c: fixed warning if DSN does not have any authentification string
+
+2008-03-24  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set to version 3.99.3
+
+Released 3.99.2
+
+2008-03-24  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-parser/lemon.c:
+	* libgda/sql-parser/LemonPatch:
+	* libgda/sql-parser/lempar.c: use the Lemon parser generator for SQLite 3.5.7
+	* libgda/sql-parser/parser.y:
+	* libgda/sql-parser/delimiter.y:
+	* providers/skel-implementation/capi/parser.y:
+	* providers/postgres/parser.y: add #include <assert.h> which is required by the
+	new version of the Lemon parser generator
+	* providers/postgres/gda-postgres-meta.c:
+	* providers/postgres/gda-postgres-provider.c: renamed the prepared statement with
+	lowercase only to avoid postgres warning about non existing prepared statement
+	when calling DEALLOCATE
+	* libgda/information_schema.xml: added some descriptions
+	* doc/C/information_schema.png:
+	* doc/C/information_schema.svg: updated the GdaMetaStore's internal structure's
+	diagram
+
+2008-03-21  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite.h: correction for SQLite versions < 3.5 (for bug #523613)
+	* providers/postgres/parser.y:
+	* libgda/sql-parser/parser.y: allow identifiers to be enclosed in double quotes
+	* tests/parser/testdata.xml:
+	* libgda/sql-parser/gda-sql-parser.c: corrected a nasty bug while using a case statement
+	* libgda/gda-data-model.c: removed debug info
+	* libgda/information_schema.xml: added some descriptive fields
+	* libgda/Makefile.am: added gda-statement-extra.h to list of headers
+	* configure.in: remove non compiling providers from AC_OUTPUT, don't check anymore for
+	LEX and YACC as they are not used anymore
+	* tests/providers/*: don't fail if the providers have not been compiled (and are thus not found)
+	* tests/meta-store/*: adaptations to the information schema changes
+	* libgda/sql-parser/Makefile.am:
+	* libgda/sql-parser/gen_def.c:
+	* providers/prepare_provider_sources.sh:
+	* providers/postgres/Makefile.am:
+	* providers/skel-implementation/models/Makefile.am:
+	* providers/skel-implementation/capi/Makefile.am: modifications to have "make distcheck" run
+	* libgda/sql-parser/LemonPatch: keep the lemon.c modifications in a separate file
+	* libgda/sql-parser/lemon.c: modified to be able to load the "lempar.c" file from a directory
+	different than the current directory, and be able to write output files to the current
+	directory
+	* libgda/sqlite/virtual/libmain.c:
+	* providers/postgres/gda-postgres-cursor-recordset.[ch]: removed unused files
+	* libgda/gda-connection.c: removed unused private attribute
+
+2008-03-20  Vivien Malerba <malerba gnome-db org>
+
+	* po/POTFILES.in: remove references to non existing files
+	* providers/skel-implementation/models/Makefile.am:
+	* providers/skel-implementation/capi/Makefile.am:
+	* providers/prepare_provider_sources.sh: make the skeleton providers compile but not
+	install, and altered the preparetion script to compile and install
+	* providers/skel-implementation/capi/gda-capi-meta.c: corrected symbol name
+	* libgda/gda-data-model.c: corrected a nasty bug in gda_data_model_import_from_model()
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/sqlite/gda-sqlite-provider.c: now compute the GdaSet to return at *last_insert_row
+	in gda_sqlite_provider_statement_execute() if the last_insert_row argument is not NULL
+	* providers/postgres/gda-postgres-ddl.c: only set a column's type as "serial" when AUTOINC
+	is TRUE
+	* providers/sqlite/sqlite_specs_create_table.xml.in:
+	* providers/postgres/postgres_specs_create_table.xml.in: fixed typos
+	* providers/postgres/postgres_specs_create_table.xml.in: dy default tables are now created
+	with OIDs
+	* libgda/gda-decl.h: removed declarations related to GdaClient (thanks to Mark Johnson)
+	* libgda/gda-server-provider.c: doc. fixes and optional debug info
+	* doc/C: updates
+
+2008-03-19  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set to version 3.99.2
+
+Released 3.99.1
+
+2008-03-19  Vivien Malerba <malerba gnome-db org>
+
+	* tools/command-exec.c: now correctly reports primary key, foreign key and unique
+	constraints for tables
+	* libgda/information_schema.xml: added the '_detailled_fk' view to give an easy access
+	to all the foreign key's details
+	* libgda/sqlite/gda-sqlite-meta.c: finished implementing the key_columns() method
+	* libgda/gda-server-provider.h:
+	* libgda/sqlite/gda-sqlite-provider.c: check that SQLite's prepared statement is not NULL
+	to avoid crash (as reported by Massimo Cora). If it is NULL, then a
+	GDA_SERVER_PROVIDER_EMPTY_STMT_ERROR error is returned
+	* libgda/sqlite/sqlite-src: up to SQLite version 3.5.7
+	* samples/: adaptations to API changes
+	* libgda/libgda.h.in:
+	* libgda/Makefile.am:
+	* libgda/gda-data-model-hash.[ch]: removed that (unused) data model
+	* providers/skel-implementation/capi: backport the latest API changes regarding meta data
+	* doc/C: doc. updates
+	* libgda/sqlite/gda-sqlite-recordset.[ch]:
+	* providers/postgres/gda-postgres-recordset.[ch]
+	* libgda/providers-support/gda-pmodel.[ch]: added a "connection" property to get/set the
+	GdaConnection used when the data model was created (this has been removed from the
+	GdaSqliteRecordset and GdaPostgresRecordset implementation)
+	* libgda/providers-support/gda-pmodel.c: implemented the code for the "insert_query",
+	"update_query" and "delete_query" methods (first steps for bug #411811)
+	* libgda/gda-meta-store.c: don't declare foreign keys when creating the schema in a database
+	* libgda/sqlite/gda-sqlite-meta.[ch]:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* providers/postgres/gda-postgres-meta.[ch]:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/skel-implementation/capi/gda-capi-meta.[ch]:
+	* providers/skel-implementation/capi/gda-capi-provider.c: stabilized the interface providers
+	need to implement regarding meta data retreival
+	* libgda/gda-meta-store-extra.h: new file for some private API
+
+2008-03-17  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-statement.h: correctly define gda_statement_to_sql(), thanks
+	to Carlos Savoretti
+	* po/POTFILES.skip: remove mention of temporary files
+	* libgda/gda-data-model.c: fixed documentation for bug #522365
+	* doc/C: dosumentation improvements
+	* libgda/gda-meta-store.[ch]:
+	* libgda/gda-connection.c: make the partial metadata sync with the database work, and
+	added the possibility for applications to add their own database objects in a GdaMetaStore
+	* libgda/gda-server-provider.c: fix a memory leak in the server operations handling (reported by
+	Phil Longstaff)
+	* libgda/information_schema.xml: more descriptions of the tables and columns
+	* libgda/sqlite/gda-sqlite-provider.c: make the "internal_stmt" array static to avoid collisions
+	* libgda/gda-server-provider.h:
+	* libgda/gda-connection.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres-meta.[ch]:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/sqlite/gda-sqlite-meta.[ch]: more meta data retreival implemented (constraints' columns)
+	* tests/providers/prov-test-common.c: follow API changes
+	* tools/command-exec.c: added a description of the table's constraints
+
+2008-03-17  Phil Longstaff  <plongstaff rogers com>
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_copy_model):
+	* libgda/gda-data-model.c (find_column_from_id, add_xml_row):
+	* libgda/gda-server-operation.c (gda_server_operation_get_node_info,
+	  gda_server_operation_get_value_at,
+	  gda_server_operation_set_value_at):
+	* libgda/gda-util.c (gda_utility_data_model_dump_data_to_xml,
+	  gda_utility_holder_load_attributes):  Fixed some obvious memory leaks 
+	by freeing variables.
+
+2008-03-16  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-model-iter.c:
+	* libgda/gda-server-provider.c: Corrected spelling mistakes in
+	documentation.
+
+2008-03-14  Murray Cumming  <murrayc murrayc com>
+
+	* doc/C/tmpl/gda-data-handler.sgml: Improved the text of this
+	documentation.
+2008-03-12  Vivien Malerba <malerba gnome-db org>
+
+	* tools/command-exec.c:
+	* tools/gda-sql.c:
+	* libgda/gda-meta-struct.[ch]: improvements (to compute only the necessary features, and others)
+	* doc/C: doc. updates
+	* po/POTFILES.in:
+	* po/POTFILES.skip: applied corrections (as proposed by
+	http://l10n.gnome.org/module/libgda)
+	* libgda/gda-easy.c: applied correction for gda_drop_table() (from Phil Longstaff)
+	* libgda/sqlite/gda-sqlite-provider.c: don't count the number of opened connections
+	* libgda/gda-meta-struct.[ch]:
+	* libgda/gda-meta-store.[ch]: added new methods
+	* tests/providers: changed tests to avoid needing reference XML files
+	* tools/gda-sql.c: allow to display a graph for a table and the tables it references (by
+	appending a '=' after that table name)
+	* others: misc. corrections
+
+2008-03-11  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/binreloc/binreloc.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-value.c:
+	* libgda/sql-parser/gda-sql-parser.c:
+	* libgda/sqlite/sqlite-src/sqlite3.c: (writeJournalHdr),
+	(sqlite3PagerOpen), (sqlite3PagerReleaseMemory), (pager_write),
+	(sqlite3BtreeRollback), (vdbeCommit), (sqlite3VdbeHalt),
+	(sqlite3VdbeExec), (findCollSeqEntry), (sqlite3InitOne),
+	(sqlite3Fts3Init):
+	Documentation: Change mentions of occured to occurred, and mentions of
+	a XML to an XML.
+	PaulSchulz and Malcolm Parsons in Ubuntu launchpad bug 64451 for
+	some reason.
+
+2008-03-06  Vivien Malerba <malerba gnome-db org>
+
+	* tests/value-holders/check_statement.c:
+	* tests/parser/check_parser.c: don't crash on missing providers
+	* tests/data-models/check_virtual.c: fixed a compilation problem
+	* tests/data-models/check_data_proxy.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-data-model-array.[ch]: make gda_data_model_array_copy_model() return a
+	GdaDataModelArray instead of a GdaDataModel (fixes bug #519778)
+	* doc/C/tmpl/gda-data-model-iter.sgml: added instructions on how to use a
+	GdaDataModelIter (fixes bug #519769)
+	* libgda/gda-data-proxy.c:
+	* libgda/sqlite/virtual/virtual-test.c:
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c:
+	* libgda/gda-data-model-iter.[ch]: removed gda_data_model_iter_new() as it is better to use
+	gda_data_model_create_iter()
+	* libgda/gda-data-access-wrapper.c:
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-iter.[ch]: replaced gda_data_model_iter_get_param_for_column() by
+	gda_data_model_iter_get_holder_for_field()
+	* libgda/gda-meta-store.c: correctly initialize transaction status variable
+	* tests/meta-store/data_columns.csv:
+	* tests/meta-store/common.c: adaptations to the GdaMetaStore's internal schema changes, make the
+	test pass again
+	* libgda/gda-meta-struct.[ch]: converted to a GObject, and added some new features
+	* tools/gda-sql.c: improved object's details reporting
+	* libgda/gda-config.c:
+	* doc/C: misc doc. updates
+
+2008-03-05  Vivien Malerba <malerba gnome-db org>
+
+	* Merged all the developments of the V4-branch branch into trunk.
+	* Updated the po/POTFILES.in and po/POTFILES.skip.
+
+2008-03-01  Nathan  <nbinont yahoo ca>
+
+	* tools/gda-sql.c: (output_data_model): Use g_setenv() instead of
+	setenv() to fix the build on Windows.
+	Bug #510739.
+
+2008-01-26  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-server-operation.c:
+	(xml_load_file): Don't leak this_lang, ignore entry when id is NULL
+	which caused a segfault on Windows.
+
+2008-01-02  Vivien Malerba <malerba gnome-db org>
+
+	* libgda-report/engine/Makefile.am:
+	* tools/command-exec.c:
+	* tools/command-exec.h:
+	* tools/gda-sql.c:
+	* tools/Makefile.am:
+	* tests/Makefile.am:
+	* tests/data-models/Makefile.am:
+	* tests/value-holders:
+	* tests/value-holders/stmt.data:
+	* tests/value-holders/check_statement.c:
+	* tests/value-holders/set.data:
+	* tests/value-holders/common.c:
+	* tests/value-holders/check_set.c:
+	* tests/value-holders/Makefile.am:
+	* tests/value-holders/check_holder.c:
+	* tests/value-holders/common.h:
+	* tests/parser:
+	* tests/parser/testdata.xml:
+	* tests/parser/Makefile.am:
+	* tests/parser/check_parser.c:
+	* tests/providers/Makefile.am:
+	* tests/queries/Makefile.am:
+	* doc/C/architecture.svg:
+	* doc/C/stmt-unknown.svg:
+	* doc/C/parts.svg:
+	* doc/C/libgda-3.0.types.in:
+	* doc/C/stmt-update.png:
+	* doc/C/stmt-update.svg:
+	* doc/C/libgda-3.0-docs.sgml:
+	* doc/C/libgda-3.0-sections.txt:
+	* doc/C/stmt-select.png:
+	* doc/C/stmt-compound.png:
+	* doc/C/stmt-insert1.png:
+	* doc/C/stmt-insert2.png:
+	* doc/C/stmt-select.svg:
+	* doc/C/architecture.png:
+	* doc/C/stmt-compound.svg:
+	* doc/C/stmt-unknown.png:
+	* doc/C/stmt-insert1.svg:
+	* doc/C/Makefile.am:
+	* doc/C/stmt-insert2.svg:
+	* doc/C/tmpl/gda-server-provider.sgml:
+	* doc/C/tmpl/gda-query-field-value.sgml:
+	* doc/C/tmpl/gda-query-join.sgml:
+	* doc/C/tmpl/gda-query.sgml:
+	* doc/C/tmpl/gda-renderer.sgml:
+	* doc/C/tmpl/gda-query-field-func.sgml:
+	* doc/C/tmpl/gda-query-condition.sgml:
+	* doc/C/tmpl/gda-set.sgml:
+	* doc/C/tmpl/gda-query-field-all.sgml:
+	* doc/C/tmpl/gda-holder.sgml:
+	* doc/C/tmpl/gda-command.sgml:
+	* doc/C/tmpl/gda-batch.sgml:
+	* doc/C/tmpl/gda-query-field-agg.sgml:
+	* doc/C/tmpl/gda-query-target.sgml:
+	* doc/C/tmpl/gda-statement.sgml:
+	* doc/C/tmpl/gda-query-object.sgml:
+	* doc/C/tmpl/gda-query-field.sgml:
+	* doc/C/tmpl/gda-sql-parser.sgml:
+	* doc/C/tmpl/gda-connection.sgml:
+	* doc/C/tmpl/gda-sql-statement.sgml:
+	* doc/C/tmpl/gda-query-field-field.sgml:
+	* doc/C/parts.png:
+	* testing/Makefile.am:
+	* providers/ldap/Makefile.am:
+	* providers/sybase/Makefile.am:
+	* providers/firebird/Makefile.am:
+	* providers/bdb/Makefile.am:
+	* providers/freetds/Makefile.am:
+	* providers/ibmdb2/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/xbase/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/oracle/Makefile.am:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/Makefile.am:
+	* providers/postgres/parser.y:
+	* providers/postgres/gda-postgres-parser.c:
+	* providers/postgres/gda-postgres-parser.h:
+	* providers/postgres/gen_def.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/msql/Makefile.am:
+	* libgda/gda-renderer.c:
+	* libgda/gda-statement.h:
+	* libgda/gda-renderer.h:
+	* libgda/gda-holder.c:
+	* libgda/gda-holder.h:
+	* libgda/gda-query-object.c:
+	* libgda/gda-debug-macros.h:
+	* libgda/gda-command.c:
+	* libgda/gda-query-object.h:
+	* libgda/gda-marshal.list:
+	* libgda/gda-query-private.h:
+	* libgda/gda-query-field-agg.c:
+	* libgda/gda-command.h:
+	* libgda/sqlite/gda-sqlite.h:
+	* libgda/sqlite/utils.c:
+	* libgda/sqlite/virtual/Makefile.am:
+	* libgda/sqlite/gda-sqlite-provider.c:
+	* libgda/sqlite/gda-sqlite-recordset.c:
+	* libgda/sqlite/gda-sqlite-recordset.h:
+	* libgda/sqlite/Makefile.am:
+	* libgda/gda-query-field-agg.h:
+	* libgda/gda-data-model-hash.h:
+	* libgda/sql-parser:
+	* libgda/sql-parser/gda-statement-struct-util.h:
+	* libgda/sql-parser/gda-sql-parser-private.h:
+	* libgda/sql-parser/gda-sql-statement.h:
+	* libgda/sql-parser/gda-statement-struct-compound.c:
+	* libgda/sql-parser/gda-statement-struct-select.h:
+	* libgda/sql-parser/gda-statement-struct-trans.c:
+	* libgda/sql-parser/gda-statement-struct-compound.h:
+	* libgda/sql-parser/gda-statement-struct-trans.h:
+	* libgda/sql-parser/gda-statement-struct-unknown.c:
+	* libgda/sql-parser/gda-statement-struct.c:
+	* libgda/sql-parser/lempar.c:
+	* libgda/sql-parser/gda-statement-struct-unknown.h:
+	* libgda/sql-parser/gda-statement-struct-insert.c:
+	* libgda/sql-parser/parser.y:
+	* libgda/sql-parser/gda-statement-struct.h:
+	* libgda/sql-parser/gda-statement-struct-insert.h:
+	* libgda/sql-parser/gda-statement-struct-update.c:
+	* libgda/sql-parser/gda-statement-struct-update.h:
+	* libgda/sql-parser/delimiter.y:
+	* libgda/sql-parser/gda-statement-struct-parts.c:
+	* libgda/sql-parser/lemon.c:
+	* libgda/sql-parser/gda-statement-struct-parts.h:
+	* libgda/sql-parser/gda-statement-struct-delete.c:
+	* libgda/sql-parser/gda-sql-parser.c:
+	* libgda/sql-parser/parser_tokens.h:
+	* libgda/sql-parser/gda-statement-struct-delete.h:
+	* libgda/sql-parser/gda-sql-parser.h:
+	* libgda/sql-parser/gen_def.c:
+	* libgda/sql-parser/gda-statement-struct-pspec.c:
+	* libgda/sql-parser/Makefile.am:
+	* libgda/sql-parser/gda-statement-struct-decl.h:
+	* libgda/sql-parser/gda-statement-struct-util.c:
+	* libgda/sql-parser/gda-statement-struct-select.c:
+	* libgda/sql-parser/gda-statement-struct-pspec.h:
+	* libgda/gda-query-field-all.c:
+	* libgda/gda-query-field-all.h:
+	* libgda/gda-query-parsing.c:
+	* libgda/gda-query-parsing.h:
+	* libgda/gda-util.c:
+	* libgda/gda-util.h:
+	* libgda/gda-query-condition.c:
+	* libgda/gda-query-condition.h:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-connection.c:
+	* libgda/Makefile.am:
+	* libgda/gda-query-join.c:
+	* libgda/gda-server-provider.h:
+	* libgda/libgda.h.in:
+	* libgda/gda-connection.h:
+	* libgda/gda-query-join.h:
+	* libgda/gda-query-field-field.c:
+	* libgda/gda-query-field-field.h:
+	* libgda/gda-batch.c:
+	* libgda/gda-batch.h:
+	* libgda/gda-query-target.c:
+	* libgda/gda-query-target.h:
+	* libgda/gda-value.c:
+	* libgda/gda-query-field-func.c:
+	* libgda/gda-query-field-func.h:
+	* libgda/gda-graphviz.c:
+	* libgda/gda-set.c:
+	* libgda/gda-graphviz.h:
+	* libgda/gda-set.h:
+	* libgda/gda-query-field-value.c:
+	* libgda/gda-query-field-value.h:
+	* libgda/gda-connection-private.h:
+	* libgda/gda-query-field.c:
+	* libgda/gda-data-access-wrapper.c:
+	* libgda/gda-query-field.h:
+	* libgda/gda-query.c:
+	* libgda/gda-query.h:
+	* libgda/gda-decl.h:
+	* libgda/gda-statement-extra.h:
+	* libgda/gda-statement.c:
+	* configure.in:
+	* ChangeLog:
+	* samples/SqlParserConsole:
+	* samples/SqlParserConsole/graph.c:
+	* samples/SqlParserConsole/console.c:
+	* samples/SqlParserConsole/graph.h:
+	* samples/SqlParserConsole/Makefile:
+	* samples/SqlParserConsole/README:
+	* samples/DDL/ddl.c:
+	* samples/DDL/Makefile:
+	* samples/SimpleExample/example.c:
+	* samples/SimpleExample/Makefile:
+	* samples/README:
+	* libgda-xslt/Makefile.am: Introduced a new parsing mechanism (GdaSqlParser object), the
+	GdaStatement object which will replace both GdaQuery and GdaCommand objects in V4, added new
+	tests and example, update documentation, and minor other changes and improvements (started
+	to tag as deprecated some API).
+
+2007-12-12  Armin Burgmeier  <armin openismus com>
+
+	* libgda/binreloc/gda-binreloc.c: Locate file paths relative to
+	location of the libgda DLL file, do not rely on a registry entry to be
+	set to point to the path of the libgda installation.
+
+2007-12-09  Vivien Malerba <malerba gnome-db org>
+
+	* tools/Makefile.am: Link gda-sql against libiberty on windows because 
+	it provides setenv(), fixed bug 502481 (Armin Burgmeier)
+	* providers/ldap/gda-ldap-provider.c:
+	* libgda-report/engine/Makefile.am: other Win32 fixes
+
+2007-12-03  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-import.c: fixed a wrong property name and
+	fixed CVS parsing when the string to parse does not end with a newline.
+	* libgda/gda-data-model-hash.c: applied patch from Sumit Kumar Jain to
+	fix a row append problem
+	* providers/postgres/gda-postgres-recordset.c: modification to correctly
+	handle the libgda/gda-data-model-hash.c correction
+
+2007-12-02  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query.c: quick and dirty fix to be able to handle
+	queries having the GROUP BY clause
+
+2007-12-01  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: check for GnomeVFS >= 2.20, for bug #498213
+
+2007-12-01  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C/libgda-3.0.types.in:
+	* doc/C/libgda-3.0.types:
+	* configure.in: allow documentation when the --without-bdb flag is 
+	used, bug #498836
+
+2007-12-01  Vivien Malerba <malerba gnome-db org>
+
+	* libgda-report/engine/gda-report-engine.c:
+	* tools/gda-diagnose.c:
+	* tools/gda-sql.c:
+	* testing/gda-test-model-query.c:
+	* providers/sybase/gda-sybase-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* libgda/gda-data-model-query.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/graph/gda-graph-query.c:
+	* libgda/gda-query.c: applied patch to fix bug #494337 (Claude Paroz)
+
+2007-12-01  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: fixed ALL_LINGUAS variable to add Macedonian language,
+	bug #500756
+
+2007-12-01  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: fixed ALL_LINGUAS variable to add Punjabi language,
+	bug #500755
+
+
+2007-11-18  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-client.h:
+	* libgda/gda-data-model-iter.h:
+	* libgda/gda-data-model.h:
+	* libgda/gda-dict.h:
+	* libgda/gda-query.h:
+	* libgda/gda-transaction-status.h: Remove trailing commas in 
+	separators to avoid warnings when using -pedantic with gcc.
+
+2007-11-06  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/gda-sqlite-provider.c: correction for bug #493360
+	* libgda.spec.in: corrections from Petr "Qaxi" KlÃma
+	* tests/queries/check_gdaquery.c: make sure the test is completely executed
+	* tests/queries/basic_sql.xml: new test
+	* tests/queries/bug_param_sql.xml: removed useless test
+	* configure.in: set GDA_AGE to 1
+
+2007-10-29  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-value.c: (gda_value_stringify):
+	Add const to avoid compiler warnings.
+
+2007-10-29  Murray Cumming  <murrayc murrayc com>
+
+	* providers/postgres/gda-postgres-provider.c:
+	(gda_postgres_provider_open_connection),
+	(gda_postgres_provider_perform_operation):
+	Put single quotes around the user and password, as 
+	mentioned in the PQconnectdb() documentation, so that 
+	passwords can contain spaces. Bug #491171.
+
+2007-10-27  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sqlite/virtual/gda-vconnection-hub.c: when creating modification queries, use
+	all the fields to make a WHERE condition if no PK field(s) are found.
+
+2007-10-24  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set to version 3.1.3
+
+Released 3.1.2
+	
+2007-10-24  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/* recognize the LIMIT and OFFSET keywords as in "SELECT ... LIMIT 3",
+	or "SELECT ... LIMIT 3 OFFSET 4" or, for the MySQL syntax "SELECT ... LIMIT 4,3",
+	for bug #488965
+	* libsql/*: removed the unused memsql_*() functions in favor of the g_*() similar
+	functions (it in fact changes nothing since the MEM_TEST macro was never defined
+	and the g_*() functions were always used, but it cleans the code)
+	* libgda/gda-query.[ch]: added gda_query_[gs]et_results_limit(), and SQL rendering
+	minor improvement
+	* libgda/gda-query-parsing.c: take into account the parsed LIMIT/OFFSET
+	* testing/queries/basic_sql.xml: new tests with the LIMIT/OFFSET syntax
+	* po/POTFILES.in: removed obsolete files
+	* libgda/sqlite/*.xml.in: remove those files as they should not be here (they
+	already are in providers/sqlite)
+	* libgda/gda-client.c: in gda_client_open_connection_from_string(), the connection
+	string can be in the "<provider_name>://<real cnc string>" format (such as
+	"PostgreSQL://DB_NAME=sales" for example)
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c: make gda_server_provider_get_info()
+	return "Virtual" as provider name instead of "SQLite"
+	* tools/Makefile.am:
+	* tools/gda-sql.c: the SQL console can now manage several connections at once (and
+	switch between them), and it i spossible to create virtual connections which bind
+	together several opened connections to execute some cross connections SQL; HTML
+	output mode is now implemented
+
+2007-10-21  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C: added a list of the environment variables useable in Libgda
+	* tools/command-exec.[ch]:
+	* tools/gda-sql.c: added a new "\d <NAME>" command to describe a table or
+	view
+	* providers/firebird/*: improvements to the schema reporting (better data type
+	report), added support for reading BLOBs' contents and arrays
+	* libgda/gda-connection.c: use the GDA_CONNECTION_EVENTS_SHOW environment variable
+	to determine which events get displayed on stdout
+	* libgda/gda-server-provider.c: use the GDA_CONNECTION_COMMANDS_SHOW environment variable
+	to determibe if commands sent to the server need to be displayed on stdout
+	* libgda/gda-value.c: implement gda_value_stringify() for values of type GDA_TYPE_LIST
+	* libgda/gda-data-model.c: added more options to specify the ouptut of
+	gda_data_model_dump()
+	* libgda/gda-client.c: removed warning
+	* libgda/gda-dict-table.c: set a "raw_extra_attributes" 'property' with the actual
+	extra attributes as returned when synced with the actual database schema definition
+	* libgda/gda-dict-database.c: avoid memory leak
+	* libgda/handlers/gda-handler-bin.c: correctly treat GdaBlob values
+
+2007-10-15  Kjartan Maraas  <kmaraas gnome org>
+
+	* configure.in: Remove "no" from ALL_LINGUAS.
+
+2007-10-14  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-proxy.c: remove warning about GdaDataModelQuery being
+	badly implemented
+	* providers/ldap/gda-ldap-provider.[ch]: first modifications in a long time
+	to make the LDAP provider work (thanks to Exell Enrique Franklin JimÃnez)
+	* libgda/sqlite/sqlite-src: up to SQLite version 3.5.1
+	* configure.in: correctly detect the real MDBTools API, don't link
+	anymore with libmdbsql.so
+	* providers/mdb/*: reworked the MDB (MSAccess) provider to be a virtual
+	provider (now all the SQLite SQL can be used), the libmdbsql.so library
+	is not used anymore
+	* configure.in: correctly detect the firebird shared libraries to link with
+	* providers/firebird/*: improvements
+	* libgda/sqlite/virtual/gda-vprovider-data-model.c: data types issue fixed
+	* libgda-3.0.pc.in: Depend on gthread-2.0 because gda uses g_thread_init() 
+	which requires to link against gthread-2.0, fixed bug #484112 (Armin Burgmeier)
+	* providers/odbc/gda-odbc-provider.c:
+	* configure.in:
+	* libgda/gda-dict.c:
+	* libgda/gda-query-field-agg.c:
+	* libgda/gda-value.c:
+	* providers/postgres/utils.c: fixes for bug #486017 (Stanislav Brabec)
+
+2007-10-13  Yannig Marchegay <yannig marchegay org>
+
+	* configure.in: +Occitan.
+
+2007-10-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/libgda-server-operation.dtd:
+	* libgda/gda-server-operation.c: added a "type" (and optionnally "descr")
+	attributes to the <serv_op> XML tag
+	* libgda/libgda-dict.dtd:
+	* libgda/gda-dict-field.c: scale and length attributes are only stored in
+	XML file if they are significant
+	* libgda/sqlite/gda-sqlite-recordset.c: correctly compute column's length
+	and scale from declared column type
+	* po/POTFILES.in:
+	* tools/Makefile.am
+	* tools/gda-list-server-op.c: new tool to list the supported DDL operations for
+	each provider
+	* tools/gda-sql.c: modified help message
+	* libgda/gda-server-operation.c:
+	* doc/C: docs. improvements
+	* samples/DDL: new example to show a basic usage of the GdaServerOperation to
+	creatre a table
+	* libgda/gda-data-model-query.c: bugs fixes
+	* tests/data-models/check_data_proxy.c: new tests when proxied data model changes
+
+2007-09-28  Vivien Malerba <malerba gnome-db org>
+
+	* samples/README:
+	* samples/XSLT/README: doc update
+
+2007-09-27  Vivien Malerba <malerba gnome-db org>
+
+	* libgda-report-3.0.pc.in:
+	* libgda-xslt-3.0.pc.in: corrected the name of the package
+	* samples/XSLT: make the example working (Pawel Cesar Sanjuan Szklarz)
+	* libgda-xslt/*: bug fixes
+	* libgda/gda-dict-reg-functions.c:
+	* libgda/gda-dict-reg-aggregates.c: don't crash if dictionary does not support
+	functions of aggregates when trying to find one (fixes bug #414148)
+	* providers/postgres/gda-postgres-cursor-recordset.c: implemented the
+	i_iter_at_row() virtual method using "FETCH ABSOLUTE" (Murray Cumming)
+	* libgda/gda-command.c:  improved gda_command_set_options() to have at least
+	GDA_COMMAND_OPTION_STOP_ON_ERRORS xor GDA_COMMAND_OPTION_IGNORE_ERRORS as the
+	two are strict opposites
+
+2007-09-27  Murray Cumming  <murrayc murrayc com>
+
+	* providers/postgres/gda-postgres-cursor-recordset.c:
+	gda_postgres_cursor_recordset_create_iter(): Ref the result even if we are 
+	returning an existing iter.
+
+2007-09-26  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: detect libxslt presence
+	* Makefile.am:
+	* libgda-xslt-3.0.pc.in:
+	* libgda-xslt/*: implementation of an XSL extension which uses Libgda (Pawel 
+	Cesar Sanjuan Szklarz)
+	* samples/XSLT/*: new example to show how to use the new XSL extension (not
+	yet working) (Pawel Cesar Sanjuan Szklarz)
+
+2007-09-26  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-proxy.c: keep the virtual connection used for filtering opened
+	* libgda/gda-data-proxy.c: make sure the get_value_at() and get_n_rows() are correct
+	event when called from a callback of signals emited while in chunck_sync_idle()
+	* libgda/gda-data-proxy.c: added gda_data_proxy_get_filtered_n_rows()
+	* libgda/gda-data-model-iter.[ch]: added gda_data_model_iter_get_value_at() and
+	gda_data_model_iter_get_value_for_field	()
+	* libgda/gda-data-model.c:
+	* doc/C: doc update
+	* libgda/gda-data-model-hash.c: signal change in gda_data_model_hash_clear()
+	* libgda/gda-data-access-wrapper.c: correctly signal changes when the wrapped
+	data model changes
+
+2007-09-25  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-proxy.c: (proxy_row_to_absolute_row),
+	(absolute_row_to_proxy_row), (gda_data_proxy_init), (clean_proxy),
+	(gda_data_proxy_set_property), (proxied_model_data_changed_cb),
+	(gda_data_proxy_delete), (gda_data_proxy_undelete),
+	(gda_data_proxy_find_row_from_values), (gda_data_proxy_append),
+	(gda_data_proxy_cancel_row_changes), (commit_row_modif),
+	(gda_data_proxy_set_sample_size),
+	(gda_data_proxy_set_sample_start), (display_chunk_new),
+	(display_chunk_free), (display_chunks_dump), (ensure_chunk_sync),
+	(chunk_sync_idle), (compute_display_chunk),
+	(adjust_displayed_chunk), (gda_data_proxy_apply_all_changes),
+	(gda_data_proxy_cancel_all_changes),
+	(gda_data_proxy_set_filter_expr), (gda_data_proxy_get_n_rows),
+	(gda_data_proxy_set_value_at), (gda_data_proxy_append_values):
+	* libgda/sql-delimiter/gda-sql-delimiter.c:
+	* providers/postgres/gda-postgres-cursor-recordset.c:
+	(gda_postgres_cursor_recordset_class_init),
+	(gda_postgres_cursor_recordset_init),
+	(gda_postgres_cursor_recordset_set_property),
+	(gda_postgres_cursor_recordset_get_property),
+	(gda_postgres_cursor_recordset_new), (fetch_next), (fetch_prev):
+	* providers/postgres/gda-postgres-cursor-recordset.h:
+	* providers/postgres/gda-postgres-provider.c:
+	(compute_retval_from_pg_res),
+	(gda_postgres_provider_execute_command):
+	* providers/postgres/gda-postgres-provider.h:
+	* tests/data-models/check_data_proxy.c: (do_test_prop_change),
+	(do_test_common_read), (do_test_common_write): Rename chunck to chunk.
+	
+	* libgda/gda-data-proxy.c: Add an empty implementation of display_chunks_dump()
+	to avoid a linker error when GDA_DEBUG is not defined.
+
+2007-09-23  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/virtual/gda-vprovider-data-model.c: each virtual table
+	now has a new hidden integer column named "__gda_row_nb" which gives the row number
+	of the data model represented by the table.
+	* providers/sqlite/gda-sqlite-provider.c: corrected a bug in split_sql()
+	* libgda/gda-data-model-bdb.c: correctly initialize variable in gda_data_model_bdb_set_values()
+	* libgda/gda-data-proxy.c: columns containing non modified data have their name prefixed with an
+	underscore
+	* libgda/gda-data-proxy.[ch]: added gda_data_proxy_[gs]et_filter_expr() to enable
+	filtering among the contents of a proxy
+	* libgda/gda-data-proxy.c: reworked the inner working for delayed sync. mechanism
+	* moved the GdaSqliteProvider and related objects from providers/sqlite to
+	libgda/sqlite because libgda _requires_ the virtual connections feature now 
+	and (left in providers/sqlite the XML files and enough to make a shared library
+	for the SQLite provider).
+	* libgda/gda-query.c: updated gda_query_set_sql_text()'s documentation
+	* libgda/gda-data-model.c: improved the gda_data_model_dump_as_string() and
+	gda_data_model_dump() methods to be able to dump row numbers as well
+	* libgda-report/gda-report-document.c: removed unused function declaration
+	* libgda/gda-query.c: doc. improvement
+	* libgda/gda-threader.c: added missing include
+	* various other very minor adjustments
+
+2007-09-02  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set to version 3.1.2
+
+Released 3.1.1
+	
+2007-09-01  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-delimiter/gda-delimiter-tree.c:
+	* libgda/sql-delimiter/lexer.l:
+	* libsql/sql_tree.c:
+	* libsql/lexer.l: extended the parameter representation to ##<param_name>[::<param_type>[::NULL]],
+	the additionnal "::NULL" at the end meaning that the parameter can be NULL.
+	* tests/queries/*: fixed a bug in the tests
+	* libgda-reports/RML/trml2html/Makefile.am:
+	* libgda-reports/RML/trml2pdf/Makefile.am: corrections to the install and uninstall
+	targets
+	* providers/sqlite/gda-sqlite-provider.c: correctly return GDA_CONNECTION_FEATURE_PROCEDURES
+	as a supported feature
+	* configure.in: if there is an installed SQLite, also test that the sqlite3CreateFunc symbol
+	is present, and force the embedded SQLile on Windows
+	* providers/sqlite/sqlite-src/: don't need to extract the sqliteInt.h anymore, patch
+	the sqlite3.c to add new PRAGMAS (from the PragmasPatch file), and don't undefine the
+	SQLITE_PRIVATE flag
+	* providers/sqlite/gda-sqlite-provider.c: when using a system installed SQLite library,
+	catch the functions and aggregates creation to report them correctly when requested
+	* providers/sqlite/utils.c: don't use the 'table_types_list' pragma (that pragma
+	does not exist in SQLite, it was added by a patch to the embedded SQLite)
+	* MAINTAINER: updated
+
+2007-08-29  Vivien Malerba <malerba gnome-db org>
+
+	* all object's get_type() function: use G_UNLIKELY to allow the compiler
+	to perform some optimizations
+	* libgda/gda-data-proxy.c: minor free() bug fixed
+	* po/POTFILES.in: updated the list of translatable files
+	* doc/C: major doc. update regarding introduction and getting started parts
+	* tests/queries/*: corrections to make the checks work when compiling in
+	a different dir.
+	* Makefile.am:
+	* samples/SimpleExample/*: new example to help start with Libgda
+
+2007-08-26  Vivien Malerba <malerba gnome-db org>
+
+	* report/: complete re-implementation of the reports, breaking API and ABI from the 3.0
+	release (it did not work anyway)
+	* libgda-report/*: new reports implementation
+	* libgda-3.0.pc.in: 
+	* libgda-report-3.0.pc.in: the report library is now sapareted from the main libgda library
+	* report/engine/*: new GdaReportEngine which operates on XML files
+	* report/RML/*: new report document object which wraps operating on RML XML dialect
+	* samples/README:
+	* samples/Report/*: new examples of how to use the report features
+	* doc/C: documentation updates for the report features
+	* libgda/gda-query-condition.c: when rendering as SQL, don't use the "IS" or "IS NOT"
+	when a parameter's value is NULL if rendering using the ":param_name", "?nnn" or 
+	"$nnn" notations
+	* libgda/sql-delimiter/*:
+	* libsql/*: parameters for which only the name and optionnally the type are provided
+	and no default value is specified can now have the ##<param_name>[::<param_type>] syntax
+	* tests/queries/all_sql_tests.xml:
+	* tests/queries/params_sql_simple.xml: new test for the new simplified parameter
+	specification
+	* libgda/gda-query-parsing.c: when a parameter has no specified type, silently default
+	to G_TYPE_STRING
+
+2007-08-17  Vivien Malerba <malerba gnome-db org>
+
+	* tests/queries/basic_sql.xml:
+	* libgda/gda-query.c: calling gda_query_set_sql_text() with several SQL statements
+	will now take into account only the first statement, a new error code
+	is then set (GDA_QUERY_MULTIPLE_STATEMENTS_ERROR)
+	* libgda/gda-query.c: corrected a bug where the error was set even if the query
+	was sucessfully exectuted in gda_query_execute()
+	* libgda/gda-connection-private.h:
+	* libgda/gda-connection.c: added support for providers to declare prepared statements
+	attached to GdaQuery objects
+	* providers/sqlite/gda-sqlite-provider.c: implemented the execute_query() virtual method
+	which uses prepared statements for better performances
+	* libgda/gda-parameter.c: corrected gda_parameter_get_alphanum_name()
+	* libgda/gda-renderer.h: added a new GDA_RENDERER_PARAMS_AS_QMARK option
+	* libgda/gda-query-field-value.c: implement the GDA_RENDERER_PARAMS_AS_QMARK option
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/sqlite/sqlite_specs_dsn.xml.in: the gda_file_exists() function
+	is now available from within SQL statements
+	* providers/sqlite/virtual/gda-vprovider-data-model.c: make sure the extra SQL functions
+	are loaded
+	* Makefile.am: include all the files in the samples/ directory as EXTRA_DIST
+	* samples/F-Spot/repair-path.c: really check for file existence when building the list
+	of missing files
+	* samples/TableCopy: reworked the table copy example to copy data from
+	two different databases
+	* po/POTFILES.in: corrections for bug #467273
+
+2007-08-15  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/binreloc/Makefile.am:
+	* po/POTFILES.in:
+	* providers/sqlite/sqlite-src/Makefile.am:
+	* providers/sqlite/virtual/Makefile.am:
+	* doc/C/Makefile.am: corrections to make "make distcheck" work
+
+2007-08-14  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/sqlite-src: moved to version 3.4.2
+	* providers/sqlite/virtual/gda-vprovider-hub.[ch]:
+	* providers/sqlite/virtual/gda-vconnection-hub.[ch]: new type of virtual connection
+	in which all the tables of another connection are added (using a namespace to avoid
+	table names collisions)
+	* providers/sqlite/virtual/gda-vconnection-data-model.[ch]:
+	* providers/sqlite/virtual/gda-vprovider-data-model.c: reworked the way virtual tables 
+	are created to be able to have virtual tables without a real data model when they are created
+	* providers/sqlite/virtual/gda-vconnection-data-model-private.h: new file
+	* samples/F-Spot: new example which is supposed to "repair" a broken F-Spot database
+	which also illustrates how to use the GdaVconnectionHub virtual connection
+	* doc/C: documentation updates
+
+2007-08-10  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: check for the presence of Gnome VFS and Libgcrypt (but does not require them)
+	* libgda/gda-value.c: corrected GdaBlob conpare func
+	* libgda/gda-data-model.c: corrected dump() function
+	* libgda/gda-blob-op.c: corrected read_all() and write_all() methods
+	* providers/sqlite/virtual/gda-vprovider-data-model.c: correctly set data type for columns
+	of virtual table, and force GdaBlob read
+	* providers/sqlite/virtual/gda-vconnection-data-model.c: documented functions
+	* libgda/libgda.h.in:
+	* libgda/Makefile.am:
+	* libgda/gda-data-model-dir.[ch]: a new GdaDataModel object which lists files
+	in a directory along with their size, mime type (if Gnome VFS is found) and
+	MD5 hash (if libgcrypt is found)
+	* libgda/dir-blob-op.[ch]: internal GdaBlobOp object to handle file contents in a
+	GdaDataModelDir object
+	* samples/DirDataModel: new example to show how the GdaDataModelDir object can be used
+	to find file duplicates
+	* doc/C: documentation for the GdaDataModelDir data model object, virtual providers
+	and connection and various misc. doc improvements
+
+2007-07-28  Murray Cumming <murrayc murrayc com>
+
+	* libgda/gda-entity-field.c: 
+	gda_entity_field_set_dict_typ(): Do not return values 
+	from this void function, to avoid compiler warnings. 
+
+2007-07-28  Murray Cumming  <murrayc murrayc com>
+
+	* configure.in: Add AC_SUBST(INTLTOOL_XML_RULE) which 
+	seems to fix the svn build by generating the provider 
+	.xml files from the .xml.in files.
+	* providers/sqlite/virtual/Makefile.am: Correct the library 
+	name to fix the build.
+	* testing/gda-test-blob.c: Replace a define with a const 
+	gchar* to avoid a warning about a redefined macro.
+
+2007-07-27  Vivien Malerba <malerba gnome-db org>
+
+	* tests/providers/check_bdb.c:
+	* tests/providers/FIELDS_SCHEMA_Berkeley-DB_data.xml:
+	* tests/providers/gda_check_bdb.db:
+	* tests/providers/README: improved BDB test
+	* libgda/gda-server-provider.[ch]:
+	* providers/*/gda-*-provider.c: added a create_connection() virtual method
+	* samples/Virtual/virtual-test.c: 
+	* tests/data-models/check_virtual.c: follow API changes
+	* libgda/gda-client.c:
+	* libgda/gda-server-provider-extra.c: bug fixed
+	* providers/bdb/Makefile.am: 
+	* providers/bdb/gda-bdb-provider.[ch]: reworked the BDB provider to use
+	virtual connections and the GdaDataModelBdb data model object.
+	* providers/bdb/utils.c:
+	* providers/bdb/gda-bdb-recordset.[ch]: removed unused files
+
+	* providers/sqlite/virtual/virtual-test.c: follow API changes
+	* providers/sqlite/virtual/Makefile.am: 
+	* providers/sqlite/virtual/gda-vprovider-data-model.[ch]: 
+	* providers/sqlite/virtual/gda-vconnection-data-model.[ch]: misc improvements
+	* samples/BDB/access-raw.c:
+	* libgda/gda-data-model-bdb.[ch]: implemented write operation
+	* libgda/gda-data-model.c: doc. correction
+	
+2007-07-17  Vivien Malerba <malerba gnome-db org>
+
+	* tests/data-models/check_virtual.c:
+	* tests/data-models/city.csv:
+	* tests/data-models/country.csv:
+	* tests/data-models/check_virtual.csv: test GdaVproviderDataModel and GdaVconnectionDataModel objects
+	* configure.in:
+	* providers/sqlite/virtual: renamed from providers/sqlite/vproviders plus modifications to make
+	it useable as a component of Libgda
+	* libgda/Makefile.am:
+	* libgda/csv.h:
+	* libgda/libcsv.c: embedded libcsv library (http://sourceforge.net/projects/libcsv/)
+	* libgda/gda-data-model-import.c: now use the embedded libcsv library to import CSV files
+	* libgda/gda-data-model.c: now use the embedded libcsv library to
+	export to CSV files
+	* samples/Virtual/*: added an example about how to use the GdaVproviderDataModel and GdaVconnectionDataModel
+	objects (very similar to the tests/data-models/check_virtual.c test)
+	* samples/BDB/*: added an example of how to use the GdaDataModelBdb object to access a BDB database in
+	a single file (includes subclassed and non subclassed examples)
+	
+2007-07-09  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/vproviders/Makefile.am: applied patch to fix
+	bug #454896 (from Marc-Andre Lureau)
+
+2007-07-07  Vivien Malerba <malerba gnome-db org>
+
+	* providers/bdb/gda-bdb-recordset.c: make string transalatable
+	* providers/sqlite/gda-sqlite-recordset.c: use sqlite3_table_column_metadata() to
+	obtain column information to better set GdaColumns' attributes
+	* configure.in:
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/sqlite/Makefile.am:
+	* providers/sqlite/vproviders/*: created the base for 'virtual providers' 
+	implementations which use SQLite's virtual tables to enable access to data
+	using SQL for data which does not support SQL (such as CSV data), implemented
+	a virtual provider making GdaDataModel objects appear as tables.
+	* libgda/binreloc: fixed directory properties
+	* libgda/gda-data-model-bdb.[ch]: implements a GdaDataModel to access a BDB 
+	database
+	* libgda/gda-data-model.[ch]: added gda_data_model_[gs]et_column_name() methods,
+	and don't warn on unsupported methods when this can be a "normal" implementation
+	* libgda/Makefile.am:
+	* libgda/libgda.h:
+	* libgda/libgda.h.in: libgda.h is generated when running the configure script,
+	to enable compilation of the GdaDataModelBdb only if BDB is found
+	* libgda/gda-data-proxy.c: minor misc. corrections (iter creation, test for
+	data model access flags)
+	* libgda/gda-data-model-iter.c: correction: connect the correct object
+	* libgda/gda-connection-private.h:
+	* libgda/gda-connection.c: added a gda_connection_force_status() method, and misc.
+	minor corrections
+	* libgda/gda-data-access-wrapper.c: correctly implemented the get_attributes_at()
+	method
+	* libgda/gda-client.c: allow a connection not not refer to a GdaClient object (don't
+	show warnings in this case)
+	* libgda/gda-data-model-import.c: don't keep an internal iterator; corrected the
+	get_attributes_at() method
+	* doc/C: documentation updates
+
+2007-06-24  Vivien Malerba <malerba gnome-db org>
+
+        * doc/C/tmpl/gda-connection-event.sgml:
+        * providers/sybase/gda-sybase-provider.c:
+        * providers/firebird/gda-firebird-provider.c:
+        * providers/firebird/gda-firebird-recordset.c:
+        * providers/firebird/gda-firebird-recordset.h:
+        * providers/freetds/gda-freetds-provider.c:
+        * providers/ibmdb2/gda-ibmdb2-provider.c:
+        * providers/sqlite/sqlite-src/Makefile.am:
+        * providers/sqlite/gda-sqlite-provider.c:
+        * providers/mdb/gda-mdb-provider.c:
+        * providers/oracle/gda-oracle-provider.c:
+        * providers/mysql/utils.c:
+        * providers/mysql/gda-mysql.h:
+        * providers/mysql/gda-mysql-recordset.c:
+        * providers/mysql/gda-mysql-provider.c:
+        * providers/postgres/utils.c:
+        * providers/postgres/gda-postgres.h:
+        * providers/postgres/gda-postgres-provider.c:
+        * providers/postgres/gda-postgres-recordset.c:
+        * providers/postgres/gda-postgres-provider.h:
+        * providers/odbc/gda-odbc-provider.c:
+        * providers/msql/gda-msql-provider.c:
+        * providers/msql/gda-msql-recordset.c:
+        * libgda/gda-connection-event.c:
+        * libgda/gda-connection-event.h:
+        * libgda/gda-connection.c: Added a new COMMAND type of connection event which
+	corresponds to a command (some SQL) being executed on the connection.
+        * configure.in: test for SQLite installation on the system, and if found,
+	check if compiled with the SQLITE_ENABLE_COLUMN_METADATA flag (if not, then
+	use the embedded SQLite sources)
+        * providers/sqlite/gda-sqlite-provider.c: don't use internal structures (the
+	list of functions is not available anymore, this will have to be fixed)
+        * providers/sqlite/sqlite-src/Makefile.am: build SQLite with the
+	SQLITE_ENABLE_COLUMN_METADATA flag
+	
+2007-06-22  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c: applied patch by Piotr Pokora 
+	for bug #450043
+	* providers/ldap/utils.c:
+	* providers/sybase/utils.c:
+	* providers/sybase/gda-sybase-provider.c:
+	* providers/sybase/gda-sybase-recordset.c:
+	* providers/bdb/utils.c:
+	* providers/freetds/utils.c:
+	* providers/freetds/gda-freetds-provider.c:
+	* providers/oracle/utils.c:
+	* providers/mysql/utils.c:
+	* providers/postgres/utils.c:
+	* providers/msql/gda-msql-utils.c:
+	* libgda/gda-connection-event.c:
+	* libgda/gda-connection-event.h: make sure the sqlstate of any 
+	connection event is available, even is it is as a generic code
+
+2007-06-21  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query.[ch]: applied corrections for bug #449725 (from Piotr Pokora)
+	* providers/sqlite/sqlite-src/*: use SQLite 3.4.0
+	* libgda/gda-connection.c: 
+	* libgda/gda-server-provider.c: add a call to gda_connection_clear_events_list() in
+	gda_server_provider_execute_query() and	gda_server_provider_execute_command(), and
+	removed it from gda_connection_execute_command() (which calls gda_server_provider_execute_command)
+	* libgda/gda-init.c:
+	* libgda/gda-threader.c: if the LIBGDA_NO_THREADS environment variable is set, then
+	don't initialize threads system (don't call g_thread_init())
+	* libgda/gda-dict-table.h:
+	* libgda/gda-data-access-wrapper.h:
+	* libgda/gda-parameter.h:
+	* libgda/gda-quark-list.h:
+	* libgda/gda-query-field-all.h:
+	* libgda/gda-query-object.h:
+	* libgda/gda-query-field-field.h:
+	* libgda/gda-query.h:
+	* libgda/gda-connection.h:
+	* libgda/gda-query-field.h:
+	* libgda/gda-data-proxy.h:
+	* libgda/gda-object-ref.h:
+	* libgda/gda-query-join.h:
+	* libgda/gda-dict-constraint.h:
+	* libgda/gda-object.h:
+	* libgda/gda-command.h:
+	* libgda/gda-blob-op.h:
+	* libgda/gda-connection-event.h:
+	* libgda/gda-data-model-index.h:
+	* libgda/gda-server-provider.h:
+	* libgda/graph/gda-graph-item.h:
+	* libgda/graph/gda-graph-query.h:
+	* libgda/graph/gda-graph.h:
+	* libgda/gda-transaction-status.h:
+	* libgda/gda-query-field-value.h:
+	* libgda/gda-data-model-filter-sql.h:
+	* libgda/gda-dict.h:
+	* libgda/gda-data-model-query.h:
+	* libgda/gda-config.h:
+	* libgda/handlers/gda-handler-numerical.h:
+	* libgda/handlers/gda-handler-bin.h:
+	* libgda/handlers/gda-handler-string.h:
+	* libgda/handlers/gda-handler-time.h:
+	* libgda/handlers/gda-handler-boolean.h:
+	* libgda/handlers/gda-handler-type.h:
+	* libgda/gda-row.h:
+	* libgda/gda-query-field-agg.h:
+	* libgda/gda-graphviz.h:
+	* libgda/gda-server-operation.h:
+	* libgda/gda-data-model-array.h:
+	* libgda/gda-dict-database.h:
+	* libgda/gda-data-model-import.h:
+	* libgda/gda-threader.h:
+	* libgda/gda-dict-aggregate.h:
+	* libgda/gda-dict-field.h:
+	* libgda/gda-data-model-iter.h:
+	* libgda/gda-data-model-hash.h:
+	* libgda/gda-client.h:
+	* libgda/gda-data-model.h:
+	* libgda/gda-dict-function.h:
+	* libgda/gda-query-field-func.h:
+	* libgda/gda-data-handler.h:
+	* libgda/gda-column.h:
+	* libgda/gda-query-target.h:
+	* libgda/gda-dict-type.h:
+	* libgda/gda-column-index.h:
+	* libgda/gda-query-condition.h:
+	* libgda/gda-parameter-list.h:
+	* providers/freetds/gda-freetds-provider.h:
+	* providers/freetds/gda-freetds-recordset.h:
+	* providers/sybase/gda-sybase-recordset.h:
+	* providers/sybase/gda-sybase-provider.h:
+	* providers/bdb/gda-bdb-recordset.h:
+	* providers/bdb/gda-bdb-provider.h:
+	* providers/ibmdb2/gda-ibmdb2-recordset.h:
+	* providers/ibmdb2/gda-ibmdb2-provider.h:
+	* providers/msql/gda-msql-provider.h:
+	* providers/msql/gda-msql-recordset.h:
+	* providers/firebird/gda-firebird-recordset.h:
+	* providers/firebird/gda-firebird-provider.h:
+	* providers/ldap/gda-ldap-recordset.h:
+	* providers/ldap/gda-ldap-provider.h:
+	* providers/xbase/gda-xbase-provider.h:
+	* providers/postgres/gda-postgres-cursor-recordset.h:
+	* providers/postgres/gda-postgres-blob-op.h:
+	* providers/postgres/gda-postgres-recordset.h:
+	* providers/postgres/gda-postgres-handler-bin.h:
+	* providers/postgres/gda-postgres-provider.h:
+	* providers/oracle/gda-oracle-blob-op.h:
+	* providers/oracle/gda-oracle-recordset.h:
+	* providers/oracle/gda-oracle-provider.h:
+	* providers/sqlite/gda-sqlite-provider.h:
+	* providers/sqlite/gda-sqlite-recordset.h:
+	* providers/sqlite/gda-sqlite-handler-bin.h:
+	* providers/odbc/gda-odbc-recordset.h:
+	* providers/odbc/gda-odbc-provider.h:
+	* providers/mysql/gda-mysql-provider.h:
+	* providers/mysql/gda-mysql-recordset.h:
+	* providers/mdb/gda-mdb-provider.h:
+	* report/libgda-report/gda-report-item.h:
+	* report/libgda-report/gda-report-item-sqlquery.h:
+	* report/libgda-report/gda-report-valid.h:
+	* report/libgda-report/gda-report-item-label.h:
+	* report/libgda-report/gda-report-result.h:
+	* report/libgda-report/gda-report-item-pageheader.h:
+	* report/libgda-report/gda-report-item-reportfooter.h:
+	* report/libgda-report/gda-report-item-pagefooter.h:
+	* report/libgda-report/gda-report-item-detail.h:
+	* report/libgda-report/gda-report-document.h:
+	* report/libgda-report/gda-report-item-report.h:
+	* report/libgda-report/gda-report-item-repfield.h:
+	* report/libgda-report/gda-report-item-reportheader.h: added G_GNUC_CONST to all
+	of the _get_type(void) functions
+	* tests/providers/*: corrected test data
+
+2007-06-17  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/graph/gda-graph.c: correctly interpret the ID of a
+	graph when loaded from XML
+	* configure.in: don't try to use the curses library on Windows
+
+2007-06-12  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-log.c: set log level to G_LOG_LEVEL_DEBUG to avoid application
+	crash on Windows
+	* libgda/gda-config.c: set the per-user directory for libgda to '.libgda'
+	* libgda/gda-init.c: load the DTD files in the correct order
+	* libgda/gda-parameter-list.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-dict.c: don't try to validate XML documents againts the DTD on
+	Windows as it does not work
+
+2007-06-12  Vivien Malerba <malerba gnome-db org>
+
+	* providers/ldap/Makefile.am:
+	* providers/ldap/libmain.c:
+	* providers/firebird/Makefile.am:
+	* providers/firebird/libmain.c:
+	* providers/sybase/libmain.c:
+	* providers/sybase/Makefile.am:
+	* providers/bdb/Makefile.am:
+	* providers/bdb/libmain.c:
+	* providers/freetds/libmain.c:
+	* providers/freetds/Makefile.am:
+	* providers/ibmdb2/Makefile.am:
+	* providers/ibmdb2/libmain.c:
+	* providers/sqlite/libmain.c:
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/sqlite/Makefile.am:
+	* providers/xbase/Makefile.am:
+	* providers/xbase/libmain.c:
+	* providers/mysql/libmain.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/Makefile.am:
+	* providers/oracle/libmain.c:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/oracle/Makefile.am:
+	* providers/postgres/libmain.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/odbc/libmain.c:
+	* providers/msql/Makefile.am:
+	* providers/msql/libmain.c:
+	* libgda/binreloc/*:
+	* libgda/gda-util.c:
+	* libgda/gda-util.h:
+	* libgda/Makefile.am:
+	* libgda/gda-config.c:
+	* libgda/gda-init.c:
+	* acinclude.m4:
+	* configure.in: Use BinReloc to avoid hard coding paths to files 
+	(so one can move the installed directory and still have Libgda working), 
+	see http://autopackage.org/docs/binreloc
+
+2007-06-09  Vivien Malerba <malerba gnome-db org>
+
+	* tools/gda-sql.c:
+	* tools/gda-inspect-dict-file.c:
+	* tools/tools-input.c:
+	* testing/gda-test-sql.c:
+	* testing/gda-test-model-query.c:
+	* providers/mysql/gda-mysql.h:
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/gda-config.c:
+	* libgda/gda-log.c:
+	* libgda/gda-decl.h: MinGW build fixes
+	
+2007-06-06  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-cursor-recordset.[ch]: a new GdaDataModel which
+	implements cursor based data retreival for PostgreSQL
+	* providers/postgres/*: make use of that new data model if necessary
+	* libgda/gda-connection.c:
+	* libgda/gda-server-provider.c: documentation update
+	* po/POTFILES.in: handle the latest file changes
+
+2007-06-04  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-column.c: don't g_free() several times the same string
+	* libgda/gda-connection.c: correctly output the number of rows in a returned
+	data model when that number is not known
+	* tools/command-exec.c: test for NULL strings before calling 
+	gda_value_new_from_string()
+
+2007-06-03  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-client.c: fixed gda_client_find_connection() where the first existing
+	connection was always returned regardless of the requested DSN
+	* libgda/gda-parameter.c: make gda_parameter_get_value_str() return NULL if
+	parameter's value is NULL
+	* libgda/gda-data-model.c: correctly display multiline strings in any column when using
+	gda_data_model_dump_as_string()
+	* tools/gda-sql.c: 
+	* tools/command-exec.c:
+	  - added commands (\set, \unset, \H)
+	  - correclty set dictionary after each connection change
+
+2007-05-31  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-proxy.c: added a "defer_sync" property to control if the synchronization
+	between GdaDataProxy object and proxied model should be immediate of defered into an 
+	idle loop (the latter being the default)
+	* tools/Makefile.am:
+	* tools/gda-run.c: removed useless program
+	* tools/tools-input.[ch]: make readline handle process signals
+	* tools/command-exec.c:
+	* tools/gda-sql.c: 
+	  - added new internal commands (\q, \cd, \copyright, \e, \r, \p, \g, \w, \w_dict, 
+	    \r_dict, \dq)
+	  - handle correctly the SIGINT signal,
+	  - correctly behave when stdin and/or stdout are streams and not attached to a terminal,
+	  - output large results as several pages using a pager, 
+	  - output can be sent to a file or to a piped program (using the "|prog" syntax)
+	  - history can be saved to a file
+
+2007-05-28  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-config.c: change URL to DB_DIR and DB_NAME in the SalesTest example
+	DSN (this change was made some time ago in the SQLite provider), to avoid warnings
+	* libgda/gda-data-model.c: disabled debug info
+	* tools/Makefile.am:
+	* tools/command-exec.[ch]:
+	* tools/tools-input.[ch]:
+	* tools/gda-sql.c: new command line tool designed to be similar to the
+	PostgreSQL's psql command line
+
+2007-05-28  Hans de Goede <j w r degoede hhs nl>
+
+	* providers/ldap/gda-ldap.h:
+	Define LDAP_DEPRECATED to fix missing prototype warnings. At least
+	2 of tese warnings were fatal bugs on 64 bit platforms (because the compiler 
+	then assumes the function returns an int == 32 bit, where as in reality it 
+	returns a pointer == 64 bit).
+
+2007-05-21  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/gda-sqlite-provider.c: fixed the NOT NULL reported attibute for table's fields
+	* data/sales_test.db: complexified a bit the sample database
+	* libgda/graph/gda-graph-item.c: fixed saving and loading to and from XML when coordinates
+	are negative
+	* libgda/gda-dict.c: avoid string comparison when string is NULL to
+	avoid crash
+
+2007-05-17  Vivien Malerba <malerba gnome-db org>
+
+	* samples/table_copy.c: new example showing how to copy data from one
+	table to the other.
+
+2007-05-17  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-object-ref.c: when losing the reference to the referenced object, correctly
+	respond to users still wanting to know which was the referenced object
+	* libgda/gda-init.c: make the default dictionary handle graph objects
+	* providers/sqlite/gda-sqlite-provider.c: correct which statement is executed to force 
+	SQLite to re-read the database structure
+	* libgda/gda-data-model-query.c: avoid showing a warning about
+	modification query's param type if expected type is unknown
+	* libgda/gda-query.c: display a warning when expanding a table.* field
+	into a list of fields when the dictionary is not up to date
+
+2007-05-14  Vivien Malerba <malerba gnome-db org>
+
+	 * configure.in: set to version 3.1.1
+	 * libgda/graph/gda-graph-item.c: minor object dump display correction
+	 * libgda/graph/gda-graph-query.c: if the dictionary does not handle
+	 GdaGraph objects, then make it handle them instead of crashing
+
+2007-05-14  Vivien Malerba <malerba gnome-db org>
+
+	Propagated from the "release-3-0-branch" branch
+	* libgda/gda-value.c: remove warnings in gda_value_stringify() for invalid dates
+	* libgda/gda-client.c: correctly implement connection sharing
+	* libgda/gda-client.c: correctly emit the "event_notification" signal when a connection is opened, 
+	bug #316698
+	* libgda/gda-column.c: memory leak correction
+	* providers/sqlite/gda-sqlite-provider.c: force SQLite to re-read the database structure
+	in case it has been modified by another connection since the last time an SQL statement
+	was executed
+	
+2007-05-08  Armin Burgmeier  <armin openismus com>
+
+	* libgda/sql-delimiter/lexer.l: Add special rule for '\\' so that \\'
+	is correctly recognized as string delimiter.
+
+	* libsql/lexer.l: Applied the same change here. Bug #433687.
+
+2007-05-06  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/sqlite-src/Makefile.am: changes due to the new type of distributed source of
+	SQLite
+	* providers/sqlite/sqlite-src/sqliteInt.h: generated file
+	* providers/sqlite/sqlite-src/sqlite3.[ch]: now at version 3.3.17
+
+2007-04-29  Murray Cumming  <murrayc murrayc com>
+
+	* configure.in: Require inltool 0.35.5 (when building from svn, 
+	not from tarball, I think) because the provider .xml files are not generated 
+	with my slightly older version.
+
+2007-04-26  Vivien Malerba <malerba gnome-db org>
+
+	* tools/Makefile.am: minor correction for bug #432798 (due to too much
+	cleanup)
+
+2007-04-24  Vivien Malerba <malerba gnome-db org>
+
+	* tools/Makefile.am: applied a patch by Leonardo Boshell to fix
+	  bug #432798
+
+2007-04-24  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set to version 3.0.1
+
+Released 3.0.0
+
+2007-04-23  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/mem.c:
+	* libsql/sql_tree.c:
+	* libsql/sql_parser.c: corrected non initialized memory bugs
+	* libgda/gda-server-provider-extra.c: look for files in the correct install dir
+
+2007-04-19  Vivien Malerba <malerba gnome-db org>
+
+	* tests/providers/prov-test-common.c:
+	* tests/providers/check_sqlite.c: don't fork tests when using SQLite as
+	SQLite does not support it (see http://www.sqlite.org/faq.html)
+	* providers/sqlite/gda-sqlite-provider.c: added a busy handler to wait for
+	a few ms when a database is locked
+	* providers/sqlite/gda-sqlite-recordset.c: set the data model as read-only
+	* libgda/gda-data-model-row.c: removed unnecessary assertion check
+
+2007-04-18  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: set version to 3.0.0 for release
+	* libgda/sql-delimiter/parser.y:
+	* libgda/sql-delimiter/lexer.l:
+	* libgda/sql-delimiter/gda-sql-delimiter.h:
+	* libgda/sql-delimiter/gda-sql-delimiter.c:
+	* libgda/sql-delimiter/gda-test-delimiter.c: the delimiter now works correctly when using
+	BEGIN ... END blocks with ";" in the middle, when using PostgreSQL dollar quoting notation
+	for strings and removes comments
+	* libgda/sql-delimiter/lexer.l:
+	* libsql/lexer.l: don't replace "\n", "\t", etc by their char '\n', '\t', etc in strings
+	or textuals
+	* tests/queries/check_delimiter.c:
+	* tests/queries/basic_sql.xml:
+	* tests/queries/all_sql_tests.xml:
+	* tests/queries/app_sql.xml: improved test error reporting, and added a lot of complex
+	SQL test cases
+	* providers/sqlite/gda-sqlite-provider.c: implemented the get_last_insert_id() virtual
+	method
+	* libgda/gda-connection.c:
+	* libgda/gda-server-provider.c: doc. update for the get_last_insert_id() functions
+	* providers/postgres/gda-postgres-provider.[ch]: corrected a bug in 
+	gda_postgres_provider_get_last_insert_id() where the call would fail if the recset 
+	argument was NULL
+	* providers/ldap/libmain.c:
+	* providers/firebird/libmain.c:
+	* providers/sybase/libmain.c:
+	* providers/bdb/libmain.c:
+	* providers/freetds/libmain.c:
+	* providers/ibmdb2/libmain.c:
+	* providers/sqlite/libmain.c:
+	* providers/mdb/libmain.c:
+	* providers/xbase/libmain.c:
+	* providers/mysql/libmain.c:
+	* providers/oracle/libmain.c:
+	* providers/postgres/libmain.c:
+	* providers/odbc/libmain.c:
+	* providers/msql/libmain.c: corrected a bug which prevented providers to be found
+	when using the library
+	* doc/C/limitations.xml: added some more information about providers' limitations
+
+2007-04-13  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-init.c: show a message and not a warning when the DTD files cannot be found
+	* libgda/gda-config.c: now use the GDA_PROVIDERS_ROOT_DIR env. variable to be
+	able to load providers before installing libgda (for testing purposes)
+	* libgda/gda-dict.c:
+	* libgda/gda-parameter-list.c:
+	* libgda/gda-server-operation.c: perform DTD validation only if the DTD file has been
+	found, and use the DTD specified in the XML if specified
+	* libgda/gda-server-provider-extra.[ch]: added new helper functions for providers' 
+	implementations
+	* libgda/gda-data-model-import.c: corrected a bug where column types were not correctly used
+	* providers/ldap/libmain.c:
+	* providers/sybase/libmain.c:
+	* providers/firebird/libmain.c:
+	* providers/bdb/libmain.c:
+	* providers/freetds/libmain.c:
+	* providers/ibmdb2/libmain.c:
+	* providers/sqlite/libmain.c:
+	* providers/xbase/libmain.c:
+	* providers/mdb/libmain.c:
+	* providers/oracle/libmain.c:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/mysql/libmain.c:
+	* providers/msql/libmain.c:
+	* providers/odbc/libmain.c:
+	* providers/sqlite/libmain.c:
+	* providers/sqlite/gda-sqlite-provider.c:	
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/libmain.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* tests/providers/check_*.c: allow testing to take place before installation
+	* po/POTFILES.in:
+	* providers/msql/libmain.c: renamed gda-msql-libmain.c to libmain.c
+	* providers/mdb/mdb_specs_dsn.xml.in:
+	* providers/mdb/gda-mdb-provider.c: use DB_DIR and DB_NAME parameters instead of
+	the FILENAME parameter
+	* providers/sqlite/sqlite_specs_dsn.xml.in: improved description
+	* providers/sqlite/gda-sqlite-provider.c: improved code readability, and also try to use
+	the database file as specified by the DB_NAME parameter without the ".db" extension
+	* libsql/lexer.l:
+	* libgda/sql-delimiter/lexer.l: don't limit the size of strings and textual expressions
+	to 2048 bytes (use a GString instead), for bug #427605
+
+2007-04-03  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-access-wrapper.c: gda_data_model_get_n_rows() now returns the correct
+	number of rows in the data model, instead of -1 when the wrapped data model has not yet been
+	"analysed" up to its end (and when it can't be accessed in a random way)
+	* libgda/gda-value.c: corrected set_from_string() when requested type is G_TYPE_ULONG and
+	when a number was passed as string because we don't yet use G_TYPE_GTYPE which requires 
+	Glib >+ 2.10
+	* libgda/gda-value.c: gda_value_compare_ext() now considers that a G_TYPE_STRING value
+	holding a NULL string is similar to a NULL value or to a GDA_TYPE_NULL value
+	* tests/data-models/check_model_import.c: improved test
+	* tests/providers/*: improved test
+	* libgda/gda-data-model.c: specifically format output XML files in a human readable way
+	* libgda/gda-util.c: better handling of NULL values (see note about the libgda/gda-value.c
+	file above)
+	* libgda/gda-data-model-import.c: another correction in the war the XML reader is used, and
+	fixed data model ID naming 
+	* providers/mysql/gda-mysql-provider.c: corrected a bug where the same column would be reported
+	several times in the TABLE_FIELDS schema
+	* libgda/gda-dict.c: code cleanup
+	* configure.in:
+	* tests/queries/dict_pg.xml.in: generate the dict_pg.xml and bug_param_sql_dict.xml files at 
+	configure to set the path to the DTD to allow "make distcheck" to work
+	* tests/queries/Makefile.am: s/top_srcddir/top_srcdir/, corrections to allow "make distcheck" 
+	to work
+	* libgda/gda-query.c: don't use strcmp() when one of the arguments is NULL (bug #410200)
+	
+2007-04-03  Murray Cumming  <murrayc murrayc com>
+
+	* COPYING:
+	* README: Clarify that the library and providers are under LGPL. It is just the 
+	executables that are under GPL.
+	* providers/postgres/gda-postgres-handler-bin.c:
+	* providers/postgres/gda-postgres-handler-bin.h:
+	* providers/sqlite/gda-sqlite-handler-bin.c:
+	* providers/sqlite/gda-sqlite-handler-bin.h: Correct inconsistent license headers.
+
+2007-04-03  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/: Some of the headers mistakenly mentioned GPL instead of LGPL. 
+	LGPL is obviously intended, as specified in the README, so I made these consistent.
+
+2007-03-30  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-provider-private.h: removed the list of connections
+	using the specified GdaServerProvider object as it was useless and the 
+	self-unreferencing of the providers if there was no opened connection left
+	lead to memory corruption
+	* libgda/gda-connection.c: added more assertions tests to avoid crashes
+	* libgda/gda-quark-list.c: don't pass g_free as data pointer if it's not used
+	* tests/providers/prov-test-util.c: make it possible to close and re-open a
+	connection after some tests because tests are run in sub-processes
+	* tests/providers/*: now test TYPES schema
+	* tests/data-models/: new tests for GdaDataModel implementations (only
+	a start at the moment)
+
+2007-03-29  Vivien Malerba <malerba gnome-db org>
+
+	* tests/providers/*: improved providers tests (now tests DB creation, SQL execution
+	to create tables, tables' fields retreival, DB destruction)
+	* libgda/gda-data-model-import.c: corrected XML files import in situations when the 
+	XML file was not indented
+	* libgda/gda-parameter-list.c: API doc improvements
+
+2007-03-28  Vivien Malerba <malerba gnome-db org>
+
+	* tests/queries/*: moved all files in tests/ to tests/queries
+	* tests/providers/*: new providers' tests
+	* configure.in: adapted to the new tests/ directory layout
+	* doc/C/server-operation.xml: improved doc.
+
+2007-03-27  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/lexer.l:
+	* libgda/sql-delimiter/lexer.l: return to the INITIAL state for the next call
+	if there has been an EOF while in a string or textual expression
+	* providers/sqlite/gda-sqlite-provider.c: remove comment, see
+	http://www.mail-archive.com/sqlite-users%40sqlite.org/msg23418.html
+
+2007-03-27  Baris Cicek  <baris teamforce name tr>
+
+	* libgda/tools/gda-config-tool.c: Moved from popt to GOption for 
+	the sake of GNOME Goals. Bug #420306
+	* libgda/tools/gda-run.c: Removed #include <popt.h>, its never used
+	anyways. 
+	* libgda/configure.in:
+	* libgda/tools/Makefile.am: Removed dependecy and test for popt. 
+
+2007-03-27  Carsten Clark  <tantumquantum gmail com>
+
+	* POTFILES.in: Added missing files.
+	Bug #421986
+
+	* libgda/sql-delimiter/lexer.l:
+	* libgda/sql-transaction/lexer.l:
+	* libsql/lexer.l: Make char*s static, to avoid linker errors on MacOS X.
+	Bug #421986
+
+2007-03-26  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-value.c: Removed a line that unconditionally returned
+	with calling g_value_get_uint() if the type of the values to compare
+	was not known. The warning that should actually be displayed in that
+	case was therefore never triggered.
+
+2007-03-26  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query.h: added a GDA_QUERY_PARAM_TYPE_ERROR type of error
+	* libgda/gda-query.c: default the data type to G_TYPE_STRING when a parameter's type
+	is unknown and when type of query is GDA_QUERY_TYPE_NON_PARSED_SQL
+	* libgda/gda-query.c: don't crash when @priv->all_conds is not NULL as expected
+	because this can happen in case the user kept some reference on some GdaQueryCondition
+	object
+	* libgda/gda-query-field-value.c: added a new "string_type" property used when
+	rendering SQL to render type as it was specified
+	* libgda/gda-query-parsing.c: better determination of data type for values
+	* libgda/gda-query-parsing.c: avoid GdaQueryCondition object reference leak
+	* libgda/gda-query-parsing.c: default the data type to G_TYPE_STRING when a parameter's type
+	is unknown instead of refusing to parse the query
+	* libgda/gda-dict-reg-functions.c: don't crash if the dictionary does not handle
+	functions
+	* libgda/gda-dict-reg-aggregates.c: don't crash if the dictionary does not handle
+	aggregates
+	* tests/check_delimiter.c: don't fail to build tests when the "check" library is 
+	not installed 
+	* tests/*: added new test cases and added some flexibility in the way to test
+	SQL rendering
+	* tests/test-util.c: try to run all tests both without any dictionary, and with one
+	if a dictionary file is specified
+	* providers/sqlite/gda-sqlite-provider.c: now use the recommended sqlite3_prepare_v2 SQlite API,
+	and improved notices contents
+
+2.99.6: 3.0 RC1
+
+2007-03-20  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model.h:
+	* libgda/gda-server-provider.h: added reserved places
+	for future extensions without breaking ABI
+
+2007-03-19  Murray Cumming  <murrayc murrayc-desktop>
+
+	* libgda/gda-data-model-private.h:
+	* providers/ldap/gda-ldap-recordset.c:
+	(gda_ldap_recordset_class_init):
+	* providers/msql/gda-msql-recordset.c:
+	(gda_msql_recordset_class_init):
+	* providers/oracle/gda-oracle-recordset.c:
+	(gda_oracle_recordset_class_init):
+	#ifdef-ed out the definitions of the functions that used gda_data_model_get_command_text(), 
+	to prevent linker errors, and added comments pointing to the relevant bug report.
+
+2007-03-19  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-delimiter/Makefile.am: applied patch from
+	Mark Johnson <mrj001 shaw ca> to correct a compiling problem
+	* providers/ldap/gda-ldap-recordset.c:
+	* providers/oracle/gda-oracle-recordset.c:
+	* providers/msql/gda-msql-recordset.c: disabled adding values
+	to GdaDataModel returned when executing a SELECT command, to 
+	avoid calling the non-existant gda_data_model_get_command_text()
+	for bug #411811
+
+2007-03-16  yselkowitz  <yselkowitz users sourceforge net>
+
+	* acconfig.h:
+	* configure.in:
+	* providers/mdb/gda-mdb-provider.c:
+	(gda_mdb_provider_open_connection), (gda_mdb_provider_execute_sql):
+	Added configure tests to allow us to ifdef around changes in the MDB 
+	API. Hopefully this will not happen often.
+	Bug #412122.
+
+2007-03-15  yselkowitz  <yselkowitz users sourceforge net>
+
+	* configure.in: Add AM_PROG_CC_C_O to avoid a warning.
+	* libgda/sql-delimiter/Makefile.am: Modify rules to fix the vpath 
+	build.
+	Patches in bug #418116.
+
+2007-03-15  Vivien Malerba <malerba gnome-db org>
+
+	Applied patch from Yaakov (Cygwin Ports) and Gustavo R. Montesino:
+
+	* Makefile.am
+	* configure.in
+	* doc/C/Makefile.am
+	* libgda-3.0.pc.in
+	* libgda/Makefile.am
+	* libgda/graph/Makefile.am
+	* libgda/handlers/Makefile.am
+	* libgda/sql-delimiter/Makefile.am
+	* libgda/sql-transaction/Makefile.am
+	* providers/freetds/Makefile.am
+	* providers/mdb/Makefile.am
+	* providers/mysql/Makefile.am
+	* providers/postgres/Makefile.am
+	* providers/sqlite/Makefile.am
+	* report/testing/Makefile.am
+	* testing/Makefile.am
+	* tests/Makefile.am
+	* tools/Makefile.am:
+	Change libgda sublibs to convenience libs and merge them into
+	libgda-3.0.la.
+	Fixes compilation with -Wl,--as-needed or -Wl,-z,defs and obsoletes
+	the Win32
+	bootstrapping; see bug 349548 and others.
+
+	* win32/Makefile.am
+	* win32/dummy.la
+	* win32/libgda_graph-3.0.def
+	* win32/libgda_handlers-3.0.def: Removed.
+
+2007-03-12  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-proxy.c: corrected a bug leading to a non refreshed
+	data after a call to gda_data_proxy_apply_all_changes()
+	* libgda/gda-row.h:
+	* libgda/gda-data-model-row.h: formatting updates
+
+2007-03-09  Vivien Malerba <malerba gnome-db org>
+
+	* tests/check_delimiter.c: checks for the correct number of statements recognized
+	* tests/all_sql_tests.xml:
+	* tests/params_sql.xml:
+	* tests/prov_sql.xml:
+	* tests/select_sql.xml:
+	* tests/app_sql.xml:
+	* tests/basic_sql.xml:
+	* tests/dict_pg.xml:
+	* tests/check_delimiter.c: added more test cases and groupped them into one single index
+	file (all_sql_tests.xml)
+	* tests/check_gdaquery.c: test for GdaQuery parsing SQL
+	* libgda/gda-dict.c: replaced GDA_TYPE_OBJECT with G_TYPE_STRING for the
+	1st argument of the "update_progress" signal
+	* libgda/gda-query.c: corrected empty query ("") handling
+	* libgda/gda-parameter-list.c: replaced "uint" with "guint" for the W32 platform, see
+	http://mail.gnome.org/archives/gnome-db-list/2007-January/msg00038.html
+	* libsql/sql_parser.c: include the <glib/gi18n-lib.h> file to define _(), 
+	improved the SQL parser to detect non terminated strings
+	* libsql/lexer.l: use LEX states for the parameters definition, report non parsed
+	characters
+	* libgda/sql-delimiter/parser.y: 
+	* libgda/sql-delimiter/gda-delimiter-tree.c:
+	* libgda/sql-delimiter/gda-sql-delimiter.c:
+	* libgda/sql-delimiter/gda-test-delimiter.c:
+	* libgda/sql-delimiter/lexer.l:
+	* libgda/sql-delimiter/gda-sql-delimiter.h: vastly improved the SQL delimiter which now
+	don't change spacings in the rendered SQL and detect default values for parameters (for
+	example "SELECT 1.23 /* name:myparam */" detects a parameter named "myparam" with a
+	default value of 1.23), detect non terminated strings
+	* libgda/gda-query-parsing.c: set the GdaQueryFieldValue's default value correctly when
+	there is a parameter in the SQL
+	* libgda/gda-query-field-value.c: correctly render SQL when there is a default value
+	* libgda/gda-query.c: correctly take into account default values for parameters when
+	a query is defined from SQL
+	* libgda/handlers/gda-handler-bin.c: fix memory allocation problem
+	* libgda/gda-column.c: removed usage of G_TYPE_GTYPE
+	* libgda/gda-data-model.c: removed check on uninitialized value
+	* libgda/handlers/gda-handler-time.[ch]: added gda_handler_time_get_format()
+	* providers/sqlite/sqlite-src/: up to Sqlite 3.3.13
+	* libgda/gda-value.c: corrected a gda_value_compare() bug which returned wrong
+	results in some limit number comparisons
+	* fixed the svn:ignore property of some directories
+
+2007-03-08  Pema Geyleg <pema geyleg gmail com>
+
+	* configure.in: Added 'dz' to ALL_LINGUAS
+
+2007-03-09  Murray Cumming  <murrayc murrayc com>
+
+	* tests/Makefile.am:
+	* tests/check_delimiter.c: Distribute the test XML file and define the path 
+	to the test XML file in the Makefile, so it works when srcdir!=distdir, 
+	as during distcheck.
+
+2007-03-08  Murray Cumming  <murrayc murrayc com>
+
+	* Makefile.am:
+	* configure.in:
+	* gda-sharp/.cvsignore:
+	* gda-sharp/Application.cs:
+	* gda-sharp/AssemblyInfo.cs.in:
+	* gda-sharp/Gda.metadata:
+	* gda-sharp/Makefile.am:
+	* gda-sharp/doc/Makefile.am:
+	* gda-sharp/doc/gda-sharp-docs.source:
+	* gda-sharp/gda-api.raw:
+	* gda-sharp/gda-sharp-3.0.pc.in:
+	* gda-sharp/gda-sharp.dll.config.in:
+	* gda-sharp/gda-sources.xml: Removed the gda-sharp language bindings.
+	Please revive them as a separate module from the 
+	libgda_3_0_before_removing_gda_sharp tag if you would like to maintain 
+	them.
+
+2007-03-08  Murray Cumming  <murrayc murrayc com>
+
+	* Makefile.am: Add gda-sharp.snk to EXTRA_DIST as suggested in 
+	bug #390609.
+
+2007-03-08   Daniel Espinosa  <esodan gmail com>>
+
+	* configure.in: Require mono 1.2 if building the gda-sharp 
+	bindings.
+	* gda-sharp/gda-api.raw: Updated to latest version of the 
+	API.
+	Patch in bug #390609.
+
+2007-03-03  Murray Cumming  <murrayc murrayc-desktop>
+
+	* Added the gda-sharp.snk file from bug #390609, 
+	which is needed for the gda-sharp bindings. I have no 
+	idea what this binary file is, however.
+
+2007-03-02  Murray Cumming  <murrayc murrayc-desktop>
+
+	* gda-sharp/doc/Makefile.am:
+	* gda-sharp/doc/gda-sharp-docs.source: Added 
+	missing files to svn. Noticed by Mark Johnson.
+
+2007-02-24  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-data-model-hash.c: Implemented
+	gda_data_model_hash_update_row().
+	Patch in bug #411984
+
+2007-02-28  yselkowitz  <yselkowitz users sourceforge net>
+
+	* configure.in:
+	* providers/bdb/Makefile.am:
+	* providers/bdb/libgda-bdb-3.0.pc.in:
+	* providers/firebird/Makefile.am:
+	* providers/firebird/libgda-firebird-3.0.pc.in:
+	* providers/freetds/Makefile.am:
+	* providers/freetds/libgda-freetds-3.0.pc.in:
+	* providers/ibmdb2/Makefile.am:
+	* providers/ibmdb2/libgda-ibmdb2-3.0.pc.in:
+	* providers/ldap/Makefile.am:
+	* providers/ldap/libgda-ldap-3.0.pc.in:
+	* providers/mdb/Makefile.am:
+	* providers/mdb/libgda-mdb-3.0.pc.in:
+	* providers/msql/Makefile.am:
+	* providers/msql/libgda-msql-3.0.pc.in:
+	* providers/mysql/Makefile.am:
+	* providers/mysql/libgda-mysql-3.0.pc.in:
+	* providers/odbc/Makefile.am:
+	* providers/odbc/libgda-odbc-3.0.pc.in:
+	* providers/oracle/Makefile.am:
+	* providers/oracle/libgda-oracle-3.0.pc.in:
+	* providers/postgres/Makefile.am:
+	* providers/postgres/libgda-postgres-3.0.pc.in:
+	* providers/sqlite/Makefile.am:
+	* providers/sqlite/libgda-sqlite-3.0.pc.in:
+	* providers/sybase/Makefile.am:
+	* providers/sybase/libgda-sybase-3.0.pc.in:
+	* providers/xbase/Makefile.am:
+	* providers/xbase/libgda-xbase-3.0.pc.in:
+	Added .pc files for the providers so that applications can check for the presence of 
+	specific providers at configure time.
+	Patch in bug #353404
+
+2007-02-28  yselkowitz  <yselkowitz users sourceforge net>
+
+	* Makefile.am
+	* configure.in
+	* gda-sharp/Application.cs
+	* gda-sharp/AssemblyInfo.cs.in
+	* gda-sharp/Makefile.am
+	* gda-sharp/doc/Makefile.am
+	* gda-sharp/doc/gda-sharp-docs.source
+	* gda-sharp/gda-sharp-3.0.pc.in
+	* gda-sharp/gda-sharp.dll.config.in:
+	Correct library name for DllImport calls.
+	Depends only on glib-sharp-2.0, not gtk-sharp.
+	Modify gda-sharp build system to install in the GAC.
+	Build and install monodoc documentation.
+	Patch in bug #390609
+
+2007-02-28  yselkowitz  <yselkowitz users sourceforge net>
+
+	* win32/dummy.la: Was imported into CVS empty, causing several compaints from
+	Win32 users.  Fixed.
+	* win32/libgda_graph-3.0.def
+	* win32/libgda_handlers-3.0.def: Updated to 2.99.5 API.
+	Patch in bug #314732
+
+2007-02-28  yselkowitz  <yselkowitz users sourceforge net>
+
+	* providers/mdb/gda-mdb-provider.c:
+	(gda_mdb_provider_get_data_handler): use gda_handler_bin_new() 
+	instead of gda_handler_bin_new_with_prov(), which is no longer available.
+	Patch in bug #411811
+
+2007-02-15  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-proxy.c: (gda_data_proxy_append): Initialize the GValue as 
+	containing flags, so that g_value_set_flags() does not fail (with a g_warning) 
+	later.
+
+2007-02-15  Leonardo Boshell  <lb kmc com co>
+
+	* gda-sharp/Gda.metadata:
+	* gda-sharp/gda-api.raw: Updated the .raw file due to recent API
+	changes, and fixed a conflict in the name resolution of the "reset"
+	signal with the _reset() function in GdaDataModel. Fixes the compilation
+	of the C# bindings as described on bug #407064.
+
+2007-02-15  Murray Cumming  <murrayc murrayc com>
+
+	* doc/C/libgda-3.0-docs.sgml:
+	* libgda/gda-connection.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-dict-field.c:
+	* libgda/gda-init.c:
+	* libgda/gda-server-provider-extra.c:
+	* providers/oracle/gda-oracle-provider.c: (process_oci_statement):
+	* providers/postgres/gda-postgres-provider.c:
+	(split_and_execute_update_query): Use affect* instead of impact* in 
+	documentation, when referring to rows affected by commands, 
+	because that is more normal English in this context.
+
+2007-02-14  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-dict-database.h: Changed type of msg parameter in
+	update_progress signal handler from gchar * to const gchar *.
+
+2.99.5:
+
+2007-02-12  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-graphviz.c: (render_qf_value_label):
+	* libgda/gda-query-field-value.c:
+	(gda_query_field_value_get_parameter_index):
+	* libgda/gda-query-parsing.c: (parsed_create_value_query_field):
+	* libgda/gda-query.c: (gda_query_get_field_by_param_name):
+	Correct the name of gda_query_field_value_get_is_parameter() when used here too.
+
+2007-02-12 Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-query-field-value.c:
+	(gda_query_field_value_get_is_parameter): Rename the function here, instead of just 
+	renaming it in the header file, to fix the linker error when trying to use this function.
+
+2.99.4:
+
+2007-02-12  Murray Cumming  <murrayc murrayc com>
+
+	* INSTALL: Added this file to svn.
+	* Makefile.am: Always mention gda-sharp in SUBDIRS so that its contents can be included in 
+	the dist.
+	* gda-sharp/Makefile.am: Move the if conditional here from Makefile.am, but always dist the 
+	sources, so they always appear in tarballs even if the person making the tarball does not have 
+	mono.
+
+2007-02-12 Daniel Espinosa <esodan gmail com>
+
+    	* libgda/gda-query-field-value.c: Added the is_parameter property to GdaQueryFieldValue Object,
+    	API change: gda_query_field_is_parameter to gda_query_field_get_is_parameter
+    	* libgda/gda-entity-field.c: 
+    	* libgda/gda-query-field-*:
+    	Changed virtual reference from (*get_data_type) to (*get_dict_type)
+    	* libgda/gda-query-field-value: Deleted a duplicated method gda_query_field_value_get_data_type and
+    	gda_query_field_value_get_g_type, becouse this object implements GdaEntityField interface
+    	* gda-sharp: API updates, added missing reference to libraries
+
+2007-02-12  Johannes Schmid <johannes schmid openismus com>
+
+	* libgda/gda-parameter-list.c: (gda_parameter_list_set_property),
+	(gda_parameter_list_get_property), (gda_parameter_list_class_init),
+	(_gda_parameter_list_get_dict), (gda_parameter_list_new):
+	* libgda/gda-parameter-list.h:
+	
+	Added a new construct property "params" to gda-parameter-list to allow wrapping with
+	C++ and added a new private method to be able to do some initialisation.
+
+2007-02-11  Brecht Sanders <brecht edustria be>
+
+	* libgda/gda-data-model-import.c: (gda_data_model_import_dispose),
+	(gda_data_model_import_set_property): Check for the G_OS_WIN32 #define 
+	instead of _WIN32. This is apparently more reliable/correct.
+
+2007-02-10  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-dict-field.c:
+	* libgda/gda-dict-field.h: gda_dict_field_get_attributes(): Correct the 
+	enum return type.
+
+2007-02-10  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-query.c: Replaced some explicit type checks to
+	GDA_TYPE_QUERY_FIELD_FIELD and GDA_TYPE_QUERY_FIELD_ALL by
+	GDA_IS_QUERY_FIELD_FIELD respectively GDA_IS_QUERY_FIELD_ALL to allow
+	derived types to be a value provider for GdaQueryFieldField.
+
+2007-02-09  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* libgda-3.0.pc.in: add -DGDA_DEBUG if necessary to allow easy creation of GdaObject
+	derived objects outside the libgda's sources
+	* configure.in:
+	* tests/*: added unit tests for delimiters testing, to be run using
+	the "make check" command (if the "check" library (http://check.sourceforge.net/) is 
+	not installed then warnings will appear instead of a test failure
+	count)
+	* libgda/gda-parameter.c:
+	* libgda/gda-object.[ch]: added the option for GdaObject sub-classes to copy the 
+	"name" property to the "id" one if the "id" is not set (used by the GdaParameter object)
+	* libgda/gda-parameter.c:
+	* libgda/gda-parameter-list.c:
+	* libgda/gda-data-model-iter.c: corrected the gda_object_dump() method
+	* libgda/sql-delimiter/lexex.l: it is now legal to write "## /* type:gint */" when
+	only "## /* type:'gint' */" was recognized before.
+	* libgda/gda-data-model-query.c: correctly detect when it's not possible to get information
+	about columns
+	* libgda/gda-data-model.[ch]: added a "reset" signal emitted when the data model has completely
+	changed (the number of columns and types of columns and of course the whole data may have changed)
+	* libgda/gda-data-model-extra.h: added gda_data_model_reset() to make the model emit the "reset"
+	signal
+	* libgda/gda-data-proxy.[ch]: added a "re_init_done" signal emitted when the proxied data
+	model's number of columns changes
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-object-ref.c: (handled_object_type): Check for NULL when checking the 
+	parent type, as can happen with interface types, which have no parent. This fixes a 
+	hang when showing forms.
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-proxy.c: (gda_data_proxy_set_property): Initialize the GValue 
+	properly to prevent a runtime error when we use g_value_set_flags() on it.
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-object-ref.c: (handled_object_type): Correct this to stop a 
+	runtime crash in the demo. The first check was changing the starting type checked 
+	by the second check.
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-client.c: (gda_client_class_init):
+	* libgda/gda-column.c: (gda_column_class_init):
+	* libgda/gda-dict-database.c: (gda_dict_database_class_init):
+	* libgda/gda-dict.c: (gda_dict_class_init):
+	* libgda/gda-entity.c: (gda_entity_iface_init):
+	* libgda/gda-parameter-list.c: (gda_parameter_list_class_init):
+	* libgda/gda-query.c: (gda_query_class_init):
+	* libgda/gda-row.c: (gda_row_class_init):
+	* libgda/graph/gda-graph.c: (gda_graph_class_init):
+	Register the correct parameter types for signals instead of using 
+	generic G_TYPE_POINTER types.
+	* libgda/gda-marshal.list: Generate (and use) more specific marshallers.
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-proxy.h: gda_data_proxy_get_value_attributes(): 
+	Use GdaValueAttribute instead of guint for the return type.
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-access-wrapper.c:
+	(gda_data_access_wrapper_get_attributes_at):
+	* libgda/gda-data-model-import.c:
+	(gda_data_model_import_get_access_flags),
+	(gda_data_model_import_get_attributes_at):
+	* libgda/gda-data-model-query.c:
+	(gda_data_model_query_get_access_flags),
+	(gda_data_model_query_get_attributes_at):
+	* libgda/gda-data-model-row.c:
+	(gda_data_model_row_get_attributes_at),
+	(gda_data_model_row_get_access_flags):
+	* libgda/gda-data-model.c: (gda_data_model_is_updatable),
+	(gda_data_model_get_access_flags), (set_param_attributes),
+	(real_gda_data_model_dump_as_string):
+	* libgda/gda-data-model.h:
+	* libgda/gda-data-proxy.c: (gda_data_proxy_set_property),
+	(gda_data_proxy_get_value_attributes),
+	(gda_data_proxy_alter_value_attributes), (gda_data_proxy_append),
+	(commit_row_modif), (gda_data_proxy_set_value_at):
+	* libgda/gda-data-proxy.h:
+	* libgda/gda-dict-field.c:
+	* libgda/gda-dict-field.h:
+	* libgda/gda-util.c: (gda_utility_table_field_attrs_stringify):
+	* libgda/gda-util.h:
+	Use GdaDataModelAccessFlags and GdaValueAttribute for function and vfunc 
+	parameters instead of guint.
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-enums.h: Added GDA_VALUE_ATTR_NONE to the GdaValueAttribute enum, because 0 
+	is already used as a default value for properties in libgnomedb, and there was no 
+	corresponding enum value. 
+
+2007-02-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-connection.c: (gda_connection_class_init),
+	(gda_connection_set_property), (gda_connection_get_property),
+	(gda_connection_new):
+	* libgda/gda-connection.h: Use GdaConnectionOptions instead of guint 
+	for the options function parameters, and use g_param_spec_flags instead of 
+	g_param_spec_uint for the property.
+	Added GDA_CONNECTION_OPTIONS_NONE to the GdaConnectionOptions enum, because 
+	the property was already using 0 as a default value, which had no corresponding enum 
+	value.
+	* libgda/gda-dict-field.c:
+	* libgda/gda-dict-field.h: Use GdaDictFieldAttribute instead of guint for the 
+	attributes parameter of gda_dict_field_set_attributes().
+	* libgda/gda-query-condition.c:
+	(gda_query_condition_render_as_sql):
+	* libgda/gda-query-field-agg.c:
+	(gda_query_field_agg_render_as_sql):
+	* libgda/gda-query-field-all.c:
+	(gda_query_field_all_render_as_sql):
+	* libgda/gda-query-field-field.c:
+	(gda_query_field_field_render_as_sql):
+	* libgda/gda-query-field-func.c:
+	(gda_query_field_func_render_as_sql):
+	* libgda/gda-query-field-value.c:
+	(gda_query_field_value_render_as_sql):
+	* libgda/gda-query-target.c: (gda_query_target_render_as_sql):
+	* libgda/gda-query.c: (gda_query_render_as_sql): 
+	(render_sql_select), (render_join_condition), (render_sql_insert),
+	(render_sql_update), (render_sql_delete), (render_sql_union),
+	(render_sql_intersect), (render_sql_except),
+	(render_sql_non_parsed_with_params):
+	* libgda/gda-renderer.c: (gda_renderer_render_as_sql):
+	* libgda/gda-renderer.h:
+	Use GdaRendererOptions instead of guint for the options parameter to the render_as_sql() vfunc.
+
+	* libgda/gda-parameter.c: (gda_parameter_get_alphanum_name): Fix a const warning, which 
+	actually showed that we were changing internal memory by accident, instead of the 
+	return string.
+	* libgda/gda-server-provider-extra.c:
+	(gda_server_provider_select_query_has_blobs): Fix a const warning, though I 
+	took the easy way and did an extra g_strdup() to do this.
+	* libgda/gda-value.c: (gda_value_new_binary), (gda_value_new_blob):
+	* libgda/gda-value.h: Make the data parameters const, to make it clearer that the data 
+	will be copied, and to fix some warnings elsewhere.
+
+2007-02-03  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-object-ref.c: Changed handled_object_type to also accept
+	derived types.
+
+2007-02-08  Murray Cumming  <murrayc murrayc com>
+
+	* providers/mdb/gda-mdb-provider.c: (gda_mdb_provider_execute_sql): Provide an extra 
+	int* output parameter to mdb_sql_bind_column(), though we do not do anything with it yet.
+	This fixes the build, at least with the mdbtools 0.5.99.0.6 version in my Ubuntu Edgy, 
+	which I guess is fairly recent.
+
+2007-02-08  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-handler.c: (gda_data_handler_get_type): Make GObject a prerequisite, so 
+	instances of this interface can be used as object properties in libgnomedb.
+	Actually, I wonder how an interface could be implemented without GObject.
+
+2007-02-05  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-config.c:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model-query.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-query.c: Renamed _modif_ to _modify_ in variable and function names, to 
+	make the code clearer.
+	* libgda/gda-query.h: Renamed gda_query_is_modif_query() to gda_query_is_modify_query(), 
+	because modif is not a familiar abbreviation. modification would be nicer but is perhaps 
+	a bit too long.
+
+2007-01-31  Vivien Malerba <malerba gnome-db org>
+
+	* libgda-3.0.pc.in: removed libxslt as a requirement
+	* libgda/gda-data-proxy.c: corrected a bug which prevented any modification to be
+	applied to the proxied data model
+	* libgda/gda-data-proxy.[hc]: added gda_data_proxy_get_n_modified_rows()
+	* libgda/gda-data-model-query.c: added a "use_transaction" property to allow the object
+	to start a transaction before running the modification SQL queries and to end it afterwards (so all 
+	the modifications are atomic). 
+	NOTE1: Beware however to avoid using that feature on several 
+	GdaDataModelQuery at the same time if data is being modified at the same time because 
+	transactions are shared and this can lead to data losses.
+	NOTE2: it's not a problem if a global transaction is started beforehand (not by the 
+	GdaDataModelQuery object itself).
+
+2007-01-29  Leonardo Boshell  <lb kmc com co>
+
+	* configure.in: Install DTD files under libgda-3.0/dtd as opposed to
+	libgda/dtd to avoid file collisions with libgda-1.2, as per bug #401179.
+	* doc/C/installation.xml:
+	* doc/C/Makefile.am: Use -3.0 suffix for the installation directory.
+	Pass --ignore-files to gtkdoc-mkdb to avoid gtk-doc errors.
+	* doc/C/libgda-docs.sgml: Updated copyright years.
+	* doc/C/tmpl/gda-connection.sgml:
+	* doc/C/tmpl/gda-dict-extend.sgml:
+	* doc/C/tmpl/gda-enum-types.sgml:
+	* doc/C/tmpl/gda-object.sgml:
+	* doc/C/tmpl/gda-parameter-list.sgml:
+	* doc/C/tmpl/gda-query-condition.sgml:
+	* doc/C/tmpl/gda-query.sgml: Updates from fixing gtk-doc warnings.
+	* libgda/gda-connection.c:
+	* libgda/gda-connection.h:
+	* libgda/gda-data-model-iter.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-dict-private.h:
+	* libgda/gda-dict-reg-aggregates.c:
+	* libgda/gda-object.c:
+	* libgda/gda-object.h:
+	* libgda/gda-parameter-list.h:
+	* libgda/gda-query-condition.h:
+	* libgda/gda-query-object.c:
+	* libgda/gda-query-target.c:
+	* libgda/gda-query.h:
+	* libgda/gda-row.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-value.c:
+	* libgda/sql-delimiter/gda-sql-delimiter.h: Fixed gtk-doc warnings.
+	* report/testing/Makefile.am:
+	* testing/Makefile.am:
+	* tools/Makefile.am:
+	* tools/gda-config-tool.1:
+	* tools/gda-config.5: Use -3.0 suffix.
+	* tools/gda-config-tool.c: (main): Call gda_init() to fix runtime
+	warnings due to gda_paramlist_dtd not being initialized.
+
+2007-01-27  Vivien Malerba <malerba gnome-db org>
+	
+	* configure.in:
+	* providers/sqlite/gda-sqlite.h:
+	* providers/sqlite/utils.c:
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/sqlite/gda-sqlite-provider.h:
+	* providers/sqlite/Makefile.am: prepared the SQLite provider to use new PRAGMA directives
+	in SQLite when they are available, to avoid having to use the internal interface anymore
+	* providers/sqlite/sqlite-src: updated to 3.3.12
+	* libgda/gda-query.c: minor bug fixed
+	* providers/postgres/gda-postgres-provider.c: minor bug fixed
+	* libgda/gda-data-model-import.c: applied patch from Brecht Sanders to add WIN32
+	support
+
+2007-01-27  Murray Cumming  <murrayc murrayc com>
+
+	* configure.in: Check for gamin >= 0.1.8, not > 0.1.8.
+	Bug #401099 from Leonardo Boshell.
+
+2.99.3:
+
+2007-01-23  Murray Cumming  <murrayc murrayc com>
+
+	* po/POTFILES.in: Attempted to update this, but intoolize-update says that the files do not 
+	exist, during distcheck.
+
+2007-01-23  Murray Cumming  <murrayc murrayc com>
+
+	* doc/C/Makefile.am: Add limitations.sgml to EXTRA_DIST, to partly fix the distcheck.
+	But I'm still getting intltool-update errors from POTFILES.in about files that it says 
+	do not exists, but which really do seem to exist.
+
+2007-01-23  Murray Cumming  <murrayc murrayc com>
+
+	* configure.in: Removed check-news from the AM_INIT_AUTOMAKE() call, 
+	because this makes it impossible to test distcheck without actually changing NEWS, 
+	so distcheck is often broken. At the moment I get this error, for instance:
+
+	cd ../../../doc/C/html && gtkdoc-mkhtml libgda ../libgda-docs.sgml
+	warning: failed to load external entity "../limitations.xml"
+	../libgda-docs.sgml:408: parser error : Failure to process entity limitations
+	    &limitations;
+                 ^
+	../libgda-docs.sgml:408: parser error : Entity 'limitations' not defined
+	    &limitations;
+
+
+2007-01-23  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-query-field-agg.c: (gda_query_field_agg_get_arg): Rename from 
+	gda_query_field_agg_get_args(), to avoid an undefined symbol.
+
+2007-01-23  Murray Cumming  <murrayc murrayc com>
+
+	* configure.in: Require gamin (fam) 0.1.8, because 0.1.7 has an incorrect pkg-config .pc file.
+	This worked before because something else put <prefix>/include in our CFLAGS. But something 
+	has changed and this was breaking the build. Maybe it was the removal of the 
+	libxslt dependency.
+	* libgda/Makefile.am: Actually use FAM_CFLAGS, instead of just hoping that something 
+	else puts <prefix>/include in the CFLAGS.
+
+2007-01-20  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: removed unnecessary libxslt dependency, and set minimum GLib version to 2.8.0
+	as G_TYPE_DATE is required and is not in 2.6.0
+	* providers/sqlite/sqlite_specs_dsn.xml.in: changed internal order of items
+	* providers/mysql/gda-mysql-provider.c: minor correction
+
+2007-01-17  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-config.c: if GDA_DSN_LIST_IN_MEMORY env. variable is
+	specified, then the DSN list modifications won't be written in any file (and
+	the initial DSN list is loaded from the filename contained in that env. variable)
+	* providers/postgres/gda-postgres-provider.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-model-row.c: bug fixes
+	* libgda/gda-parameter.c:
+	* libgda/gda-parameter-util.h: added a gda_parameter_get_alphanum_name() to 
+	get a version of a GdaParameter's name where all non [0-9A-Za-z] chars are 
+	replaced with '_'
+	* libgda/gda-query-field-value.c: can now render parameters in SQL with the
+	:param_name syntax (used by Oracle)
+	* libgda/gda-blob-op.[hc]: added gda_blob_op_write_all() to write a complete
+	BLOB at once
+	* providers/oracle/: improved BLOB handling
+	* gda-sharp/AssemblyInfo.cs.in: corrected variable name to
+	GDA_ABI_*_VERSION
+	
+2007-01-17  Esteban Sanchez  <esteban steve-0 com
+
+	* providers/mysql/gda-mysql-provider.c: Use length instead of using
+	strlen() with constant strings.
+
+2007-01-17  Murray Cumming  <murrayc murrayc com>
+
+	* configure.in:
+	* libgda-3.0.pc.in:
+	* libgda/Makefile.am:
+	* libgda/graph/Makefile.am:
+	* libgda/handlers/Makefile.am:
+	* libgda/sql-delimiter/Makefile.am:
+	* libgda/sql-transaction/Makefile.am:
+	* libsql/Makefile.am:
+	* providers/bdb/Makefile.am:
+	* providers/firebird/Makefile.am:
+	* providers/freetds/Makefile.am:
+	* providers/ibmdb2/Makefile.am:
+	* providers/ldap/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/msql/Makefile.am:
+	* providers/mysql/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/oracle/Makefile.am:
+	* providers/postgres/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/sybase/Makefile.am:
+	* providers/xbase/Makefile.am:
+	* report/libgda-report/Makefile.am: 
+	Rename GDA_*_VERSION to 
+	GDA_ABI_*_VERSION, and do not use the tarball release version to 
+	calculate it. This removes the risk of us breaking ABI with a 3.2 version that 
+	is meant to just add API.
+
+2007-01-14  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-connection-private.h:
+	* libgda/gda-connection.c: added a private function to change the state of the
+	current transaction, to be used by providers' implementations
+	* providers/postgres/gda-postgres-blob-op.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/utils.c: corrected an error which made the current transaction
+	fail when trying to delete a nonexisting blob Oid
+	
+2007-01-12  Armin Burgmeier  <armin openismus com>
+
+	* libgda/gda-query.c: Declare the object explicitely as GDA_TYPE_QUERY
+	in constructor to allow subclassing GdaQuery. Also removed object
+	declaration from gda_dict_query_copy() because it is already done in
+	constructor.
+
+2007-01-12  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c: fixed a bug related to FK reporting
+	in the CONSTRAINTS schema report, added the "bit" data type as a synonym to
+	"tinyint", removed and GDA_TYPE_BLOB reference as MySQL does not support blobs
+	(it supports binary data)
+	* providers/postgres/gda-postgres-provider.c: map the "oid" data type to G_TYPE_ULONG
+	and better detect the GType associated to custom data types
+	* testing/gda-test-blob.c
+	* testing/tests_data/SQL_parsing_tests.xml
+	* libgda/sql-delimiter/parser.y
+	* libgda/sql-delimiter/gda-sql-delimiter.c
+	* libgda/sql-delimiter/gda-test-delimiter.c
+	* libgda/sql-delimiter/lexer.l
+	* libgda/gda-data-model-query.c
+	* libgda/gda-query-field-value.c
+	* libgda/gda-server-provider-extra.c
+	* libsql/parser.y
+	* libsql/lexer.l: changed the syntax to insert parameters in SQL queries to
+	have simpler parsers and an easier to read syntax, and bug fixes
+	* doc/C: improved documentation about binary and blob data types
+	* libgda/gda-query-field-field.c: made the "field_name" property readable
+	* libgda/gda-dict-field.c:
+	* libgda/gda-graphviz.c:
+	* libgda/gda-init.c:
+	* libgda/gda-query.c:
+	* libgda/gda-query-condition.c:
+	* libgda/gda-query-field-agg.c:
+	* libgda/gda-query-field-all.c:
+	* libgda/gda-query-field-field.c:
+	* libgda/gda-query-field-func.c:
+	* libgda/gda-query-field-value.c:
+	* libgda/gda-query-target.c:
+	* libgda/gda-renderer.c:
+	* libgda/gda-renderer.h:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-provider-extra.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* testing/gda-test-model-query.c:
+	* testing/gda-test-sql.c:
+	* tools/gda-inspect-dict-file.c: changed the signature of the gda_renderer_render_as_sql()
+	method to allow to return a list of GdaParameter objects actually used to do the rendering
+	* libgda/gda-server-provide.[ch]: added the escape_string() and unescape_string() virtual methods
+	* libgda/handlers/gda-handler-string.[ch]: take into account the new virtual methods for
+	the providers when escaping and unescaping strings
+	* libgda/handlers/gda-handler-bin.[ch]: code cleanup
+	* providers/postgres/gda-postgres-handler-bin.[ch]: new object to handle GdaBinary representations
+	for the postgres provider
+	* all files: s/gda_default_escape_chars/gda_default_escape_string/ and
+	s/gda_default_unescape_chars/gda_default_unescape_string/
+	* providers/sqlite/sqlite-src: use Sqlite 3.3.10 sources
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres-recordset.c:
+	* providers/postgres/gda-postgres-blob-op.c:
+	* providers/postgres/util.c: code cleanups un event reporting
+
+2007-01-12  Murray Cumming  <murrayc murryac com>
+
+	* libgda/gda-dict-database.c: (gda_dict_database_class_init):
+	* libgda/gda-dict-function.c: (gda_dict_function_class_init):
+	* libgda/gda-dict-type.c: (gda_dict_type_class_init):
+	* libgda/gda-graphviz.c: (gda_graphviz_class_init): Remove nonsense unused PROP ("prop") properties 
+	with #if 0. I would prefer to delete the code, but I guess someone found these placeholders useful once.
+
+2007-01-11  Murray Cumming  <murrayc murryac com>
+
+	* libgda/gda-blob-op.c: Add a FIXME comment to documentation that advises use of 
+	gda_connection_create_blob(), which no longer exists.
+	* libgda/gda-server-provider.h: Removed declarations of 
+	gda_server_provider_create_blob() and gda_server_provider_fetch_blob_by_id() because the 
+	functions (implementations) no longer exist.
+
+2007-01-07 Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query.c: bug fixed in XML saving code where a "(xmlChar*)" was
+	not a cast but in the string.
+	* doc/C: adjusted the svn:ignore property
+	
+2007-01-07 Leonardo Boshell <lb kmc com co>
+
+	* libgda/gda-connection-event.c:
+	* libgda/gda-data-model-hash.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-query.c:
+	* libgda/gda-dict.c: Made *_new functions only call g_object_new by
+	moving some code to *_init and introducing properties that are set
+	upon construction, for bug #321724
+
+2007-01-07 Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/sql-delimiter/*: don't remove the ':' char from ':[A-Za-z0-9_-]+'
+	identifiers, and allow to have parameter definitions with values, instead
+	of only recognising ##[...] parameters definitions
+	* tools/:
+	* doc/C/tmpl:
+	* gda-sharp:
+	* report/libgda-report:
+	* providers/ldap:
+	* providers/firebird:
+	* providers/sybase:
+	* providers/bdb:
+	* providers/freetds:
+	* providers/ibmdb2:
+	* providers/sqlite:
+	* providers/sqlite/sqlite-src:
+	* providers/mdb:
+	* providers/xbase:
+	* providers/mysql:
+	* providers/oracle:
+	* providers/postgres:
+	* providers/odbc:
+	* providers/msql:
+	* testing:
+	* po:
+	* libgda:
+	* libsql:
+	* win32: adjusted the svn:ignore property
+	* libgda/gda-connection.[ch]:
+	* libgda/gda-server-provider-extra.[ch]:
+	* providers/*/gda-*-provider.c:
+	* libgda/gda-value.[ch]:
+	* libgda/gda-blob-op.[ch]: changed the way blobs are handled to have a coherent
+	and universal API to use blobs.
+	* providers/sqlite/sqlite-src: updated to 3.3.9
+	* providers/oracle: major Oracle provider improvements, now only missing the CONSTRAINTS
+	schema and the new blobs support
+	* providers/postgres: added support for the new blobs API
+	* testing/gda-test-blob.c: new test progrem for blobs
+	* other files: minor corrections
+	
+2006-12-28  Leonardo Boshell <lb kmc com co>
+
+	* providers/freetds/gda-freetds-provider.c:
+	(gda_freetds_get_procedures), (gda_freetds_provider_get_types),
+	(gda_freetds_get_fields):
+	s/gda_column_[gs]et_gda_type/gda_column_[gs]et_g_type/.
+	(gda_freetds_provider_get_types): Remove unused variable 'valuetmp'.
+	(gda_freetds_provider_get_schema): Actually use
+	gda_freetds_get_procedures().
+	(gda_freetds_provider_tds_handle_message): Remove unused variable
+	'tds_cnc'.
+	* providers/freetds/gda-freetds-recordset.c:
+	(gda_freetds_recordset_get_row): Remove the 'const' qualifier from the
+	return signature to properly match the API from gda-data-model-row.h.
+	(gda_freetds_get_current_row): Declare 'val' as 'guchar *' to hold the
+	value we get from res->current_row without casting.
+	* providers/freetds/gda-freetds-types.h:
+	* providers/freetds/gda-freetds-types.c: (gda_freetds_get_value_type):
+	Drop the 'const' qualifier from the return signature since it's not a
+	reference.
+	(gda_freetds_set_gdavalue): Changed the type of the 'val' parameter from
+	'gchar *' to 'guchar *'. Fix warnings regarding signedness.
+
+2006-12-28  Murray Cumming  <murrayc murrayc com>
+
+	* providers/postgres/gda-postgres-blob.c:
+	(gda_postgres_blob_get_sql_id):
+	* providers/postgres/gda-postgres-provider.c:
+	(gda_postgres_provider_get_data_handler):
+	* providers/postgres/gda-postgres-recordset.c:
+	(gda_postgres_recordset_get_row),
+	(gda_postgres_recordset_remove_row),
+	(gda_postgres_recordset_get_value_at),
+	(gda_postgres_recordset_describe_column),
+	(gda_postgres_recordset_new):
+	* providers/postgres/utils.c: (gda_postgres_set_value): 
+	Fix warnings by adding casts and removing unnused variables.
+
+2006-12-28  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-config.c:
+	* libgda/gda-connection.c:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model-query.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-dict-aggregate.c: 
+	* libgda/gda-dict-constraint.c:
+	* libgda/gda-dict-database.c:
+	* libgda/gda-dict-field.c
+	* libgda/gda-dict-function.c:
+	* libgda/gda-dict-reg-aggregates.c:
+	* libgda/gda-dict-reg-functions.c:
+	* libgda/gda-dict-reg-queries.c:
+	* libgda/gda-dict-reg-types.c:
+	* libgda/gda-dict-table.c:
+	* libgda/gda-dict-type.c:
+	* libgda/gda-dict.c:
+	* libgda/gda-init.c:
+	* libgda/gda-parameter-list.c:
+	* libgda/gda-query-condition.c:
+	* libgda/gda-query-field-agg.c:
+	* libgda/gda-query-field-all.c:
+	* libgda/gda-query-field-field.c:
+	* libgda/gda-query-field-func.c:
+	* libgda/gda-query-field-value.c:
+	* libgda/gda-query-field.c:
+	* libgda/gda-query-join.c:
+	* libgda/gda-query-target.c:
+	* libgda/gda-query.c:
+	* libgda/gda-row.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-util.c:
+	* libgda/gda-value.c:
+	* libgda/graph/gda-dict-reg-graphs.c:
+	* libgda/graph/gda-graph-item.c:
+	* libgda/graph/gda-graph.c:
+	* libgda/sql-delimiter/gda-test-delimiter.c:
+	* libsql/mem.h:
+	* libsql/sql_parser.c:
+	* testing/gda-test-model-query.c: 
+	* testing/gda-test-models.c:
+	* testing/gda-test-sql.c:
+	* testing/html.c:
+	* tools/gda-config-tool.c: 
+	* tools/gda-diagnose.c:
+	* tools/html.c: Many fixes for -Wall -Werror warnings, mostly 
+	xmlChar* <-> gchar* casts, and some unused variables and implicitly 
+	declared functions.
+
+2006-12-28  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-dict-field.c: (gda_dict_field_load_from_xml):
+	* libgda/gda-dict.h: Add a note about the current need to include 
+	libgda/gda-dict-reg-aggregates.h and libgda/gda-dict-reg-functions.h when 
+	using this header.
+	* libgda/gda-object-ref.c: 
+	* libgda/gda-query-parsing.c: Include the extra headers to avoid  
+	integer-to-pointer warnings caused by implicit function declarations.
+
+	* libgda/gda-util.c: In the isbase64 macro, do not check that the uchar is less than 
+	256 because this causes a compiler warning about this always being true.
+
+	* libgda/sql-delimiter/lexer.l:
+	* libgda/sql-transaction/lexer.l: Comment-out the #warning lines.
+
+	* libgda/gda-data-model-array.c: (gda_data_model_array_finalize),
+	(gda_data_model_array_clear): 
+	* libgda/gda-query-condition.c: (gda_query_condition_new_copy):
+	* libgda/graph/gda-graph-item.c: (gda_graph_item_set_property): 
+	Use cast macros to avoid compiler warnings.
+
+	I think this fixes all the warnings apart from the ones in the providers.
+
+2006-12-28  Murray Cumming  <murrayc murrayc com>
+
+	* libsql/lexer.l:
+	* libsql/mem.c: (memsql_strdup_printf_raw), (memsql_alloc_raw),
+	(memsql_calloc_raw), (memsql_realloc_raw), (memsql_strappend_raw),
+	(memsql_strappend_free_raw):
+	* libsql/mem.h:
+	* libsql/sql_parser.c: (sqlerror):
+	* libsql/sql_parser.h:
+	* libsql/sql_tree.c: (sql_field_build_function), (sql_table_build),
+	(sql_table_build_function):
+	* libsql/sql_tree.h: Some const corrections to allow building with 
+	CFLAGS=-Werror.
+	Note that sql_build_function() still takes non-const char*, because that is later 
+	freed by sql_destroy_table(), but I do not think that this is expected everywhere, 
+	so there may be double frees.
+
+2006-12-28  Leonardo Boshell <p kapcoweb com>
+
+	* configure.in: Set FREETDS_VERSION_MAJOR and FREETDS_VERSION_MINOR
+	instead of HAVE_FREETDS_VER*.
+	* providers/freetds/gda-freetds-defs.h: Define FREETDS_VERSION and use
+	that macro instead of HAVE_FREETDS_VER*.
+	* providers/freetds/gda-freetds-provider.c: Use FREETDS_VERSION. FreeTDS
+	0.64 compatibility.
+	(gda_freetds_get_procedures): New. Verify that column #1 has the right
+	GType.
+	(gda_freetds_provider_get_types): Verify that columns have the right
+	GType.
+	(gda_freetds_provider_get_schema): Use gda_freetds_get_procedures().
+	(gda_freetds_execute_cmd): Check tds_cnc->tds->res_info before
+	tds_cnc->tds->res_info->rows_exist.
+	(gda_freetds_get_fields):
+	s/gda_parameter_list_find/gda_parameter_list_find_param/. Verify that
+	all columns have the right GType.
+	(gda_freetds_provider_tds_handle_err_msg),
+	(gda_freetds_provider_tds_handle_info_msg): Added 'const' to the first
+	parameter, as per the current FreeTDS API.
+	(gda_freetds_provider_begin_transaction): Fixed the signature of the
+	'level' parameter.
+	* providers/freetds/gda-freetds-provider.h: Use FREETDS_VERSION.
+	* providers/freetds/gda-freetds-recordset.c: Use FREETDS_VERSION.
+	FreeTDS 0.64 compatibility.
+	* providers/freetds/gda-freetds-types.c: Use FREETDS_VERSION.
+	(gda_freetds_set_gdavalue): Initialise 'field' with g_value_init()
+	before calling g_value_set_*() on it. When handling strings, make sure
+	the string is at most col->column_cur_size characters long. Cast to the
+	right type when handling SYBVARBINARY values.
+	* providers/freetds/gda-tds-schemas.h: Remove ambiguity from SQL
+	commands.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-query.c: (render_sql_insert): Use g_string_append() instead 
+	of g_string_append_printf() with only 2 parameters, to avoid runtime 
+	memory corruption. Patch from Chris Shoemaker in bug #341061.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-quark-list.c: (gda_quark_list_add_from_string):
+	Prevent a crash when the connection string has a final ; character.
+	Bug #317831 from Andrea Zagli.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* providers/mysql/mysql_specs_create_db.xml.in:
+	* providers/mysql/mysql_specs_create_table.xml.in:
+	* providers/mysql/mysql_specs_drop_db.xml.in:
+	* providers/postgres/postgres_specs_create_table.xml.in:
+	* providers/sqlite/sqlite-src/os.h:
+	* providers/sqlite/sqlite_specs_create_index.xml.in:
+	* providers/sqlite/sqlite_specs_create_table.xml.in:
+	More spelling and grammar fixes from Clytie Siddall in bug #352122.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-model-import.c:
+	(gda_data_model_import_set_property): Replace use of deprecated 
+	sys_errlist() with strerror(). Patch from Joseph Sacco in bug #353729. 
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-connection.c:
+	* libgda/gda-data-model.c: (gda_data_model_import_from_model):
+	* providers/firebird/firebird_specs_dsn.xml.in:
+	* providers/freetds/freetds_specs_dsn.xml.in:
+	* providers/ldap/ldap_specs_dsn.xml.in:
+	* providers/mdb/mdb_specs_dsn.xml.in:
+	* providers/msql/msql_specs_dsn.xml.in:
+	* providers/mysql/mysql_specs_create_db.xml.in:
+	* providers/mysql/mysql_specs_drop_db.xml.in:
+	* providers/mysql/mysql_specs_dsn.xml.in:
+	* providers/oracle/oracle_specs_dsn.xml.in:
+	* providers/postgres/postgres_specs_create_db.xml.in:
+	* providers/postgres/postgres_specs_drop_db.xml.in:
+	* providers/postgres/postgres_specs_dsn.xml.in:
+	* providers/sybase/sybase_specs_dsn.xml.in:
+	* providers/xbase/xbase_specs_dsn.xml.in:
+	Correct spellings and grammar in translatable strings. 
+	Suggestions by  Clytie Siddall in bug #352122.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* Makefile.am:
+	* configure.in:
+	* libgda-3.0.pc.in:
+	* libgda/Makefile.am:
+	* libgda/graph/Makefile.am:
+	* libgda/handlers/Makefile.am:
+	* libgda/sql-delimiter/Makefile.am:
+	* libgda/sql-transaction/Makefile.am:
+	* libsql/Makefile.am:
+	- Rename libsqltransaction.la to libgda_sql_transaction-3.0.la.  Add it to
+libgda-3.0.pc.in.  Build it and libgda_sql_delimiter-3.0 before libgda-3.0,
+since the former are not interdependent with the latter.
+	- Rename libgdasql.la to libgdasql-3.0.la.  Add it to libgda-3.0.pc.in.
+	* providers/bdb/Makefile.am:
+	* providers/firebird/Makefile.am:
+	* providers/freetds/Makefile.am:
+	* providers/freetds/gda-freetds-provider.c:
+	(gda_freetds_free_connection_data):
+	* providers/ibmdb2/Makefile.am:
+	* providers/ldap/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/mdb/gda-mdb-provider.c: (gda_mdb_provider_execute_sql):
+	- Fix mdb provider for mdbtools-0.6pre1 (which is already required for
+	MDB_WRITABLE).
+	* providers/msql/Makefile.am:
+	* providers/mysql/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/odbc/gda-odbc-provider.c: (get_odbc_databases),
+	(get_odbc_fields_metadata), (get_procedure_rs),
+	(get_odbc_procedures), (get_odbc_tables), (get_odbc_types),
+	(get_odbc_views):
+	- Port odbc provider to 3.0 API (PLEASE VERIFY).
+	* providers/oracle/Makefile.am:
+	* providers/postgres/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/sybase/Makefile.am:
+	* providers/xbase/Makefile.am:
+	* providers/xbase/gda-xbase-provider.c:
+	(gda_xbase_provider_open_connection):
+	- Fix xbase provider for non-existant provider API (PLEASE VERIFY).
+
+	- Fix gda-sharp.dll.config on Cygwin (yes, mono and Gtk# do work on Cygwin, but
+I haven't pushed the patches upstream yet).
+	- Fix provider dependencies (for the Cygwin-supported databases).
+	Patch by yselkowitz in bug #314732.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* data/Makefile.am:
+	* libgda/Makefile.am:
+	* providers/bdb/Makefile.am:
+	* providers/firebird/Makefile.am:
+	* providers/freetds/Makefile.am:
+	* providers/ibmdb2/Makefile.am:
+	* providers/ldap/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/msql/Makefile.am:
+	* providers/mysql/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/oracle/Makefile.am:
+	* providers/postgres/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/sybase/Makefile.am:
+	* providers/xbase/Makefile.am:
+	* report/Makefile.am:
+	* report/libgda-report/Makefile.am: 
+	Change the sysconfdir (<prefix>/etc/) and datadir (<prefix>/share/) installation 
+	directories from libgda to libgda-3.0, to avoid parallel-install conflicts with 
+	libgda 1.2. As noticed by yselkowitz in bug #314732. 
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* idl/.cvsignore:
+	* idl/GNOME_Database.idl:
+	* idl/Makefile.am: Removed these from cvs. They are not used, and they make people 
+	think that we require or use CORBA.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* gda-sharp/gda-sharp.dll.config.in: Refer to correct .so name.
+
+	Fixes for 64-bit systems:
+	* providers/bdb/libmain.c: Include gda-config.h.
+	* providers/odbc/gda-odbc-provider.c:
+	(gda_odbc_provider_change_database): Cast to (unsigned long) instead of UDWORD.
+	Patch from Hans de Goede in bug #366694.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/sql-delimiter/parser.y: Fix compilation on Darwin (MacOS X), by 
+	using the extern keyword. Patch from Min Sik Kim in bug #382933.
+
+2006-12-27  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-parameter-list.c: Fix compilation on Darwin (MacOS X), by 
+	ifdefing the including of sys/types.h. 
+	Patch from Min Sik Kim in bug #382936.  
+
+2006-12-22  Vivien Malerba <malerba gnome-db org>
+
+	Released 2.99.2 (AKA 3.0 Beta4).
+
+2006-12-22  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-iter.c:
+	* libgda/gda-data-model-query.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-parameter-list.c:
+	* libgda/gda-parameter-list.h:
+	* libgda/gda-parameter.c:
+	* libgda/gda-parameter.h:
+	* libgda/graph/gda-graph-item.c:
+	* libgda/graph/gda-graph.c: minor corrections
+	* libgda/gda-client.[ch]: added a db_name argument to the
+	gda_client_prepare_create_database() and
+	gda_client_prepare_drop_database () methods.
+
+2006-12-20  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/handlers/gda-handler-time.c: improved date conversion
+	* libgda/gda-config.c: removed the 'password' column from the
+	gda_config_get_data_source_model()'s returned data model as is was always
+	'*****'
+	* libgda/gda-quark-list.[ch]: added gda_quark_list_foreach()
+	* libsql/lexex.l:
+	* libsql/parser.y: allow numerical values with a decimal part
+
+2006-12-16  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-enums.h:
+	* libgda/gda-data-proxy.c: added a new value attribute to tell
+	when a value won't be used
+	* libgda/gda-data-model.[ch]: added an option to gda_data_model_import_from_model()
+	to specify that either the receiving data model must be overwritten, or
+	data must be appended to the receiving data model
+	* libgda/gda-config.c: minor corrections with FAM and the save order of the
+	declared datasources
+	* libgda/sql-delimiter/payser.y: make the parameters be reconized if its
+	attributes are in single quotes the same way as if they are in double quotes
+	* libgda/gda-data-model-query.c: display a warning if INSERT|DELETE|UPDATE queries'
+	parameters are not of the correct GType
+	* other files: corrected bug fixed introduced by the properties change (because
+	g_object_get() then returned objects with a new reference on them which was not the
+	case with gpointer properties).
+
+2006-12-15  Murray Cumming <murrayc murrayc com>
+
+	* libgda/gda-connection.c:
+	* libgda/gda-data-access-wrapper.c:
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model-iter.c:
+	* libgda/gda-data-model-query.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-dict-aggregate.c: 
+	* libgda/gda-dict-database.c:
+	* libgda/gda-dict-field.c:
+	* libgda/gda-dict-function.c:
+	* libgda/gda-dict-table.c:
+	* libgda/gda-dict-type.c:
+	* libgda/gda-graphviz.c:
+	* libgda/gda-object-ref.c: 
+	* libgda/gda-object.c:
+	* libgda/gda-parameter.c:
+	* libgda/gda-query-condition.c:
+	* libgda/gda-query-field-agg.c:
+	* libgda/gda-query-field-all.c:
+	* libgda/gda-query-field-field.c:
+	* libgda/gda-query-field-func.c:
+	* libgda/gda-query-field-value.c:
+	* libgda/gda-query-join.c:
+	* libgda/gda-query-target.c:
+	* libgda/gda-query.c:
+	* libgda/gda-row.c:
+	* libgda/gda-server-operation.c:
+	* libgda/graph/gda-graph-item.c:
+	* libgda/graph/gda-graph.c: class_init(), get_property(), and 
+	set_property() functions: Register and use properties as specific object 
+	types, instead of using the pointer parameter type. As well as being a lot 
+	clearer and more robust, this allows language bindings and RAD tools to 
+	know what type the parameters are.
+
+	There are still some properties called prop which have unknown type and which 
+	do not seem to be used.
+
+2006-12-09  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-query.[ch]: added a 
+	gda_data_model_query_compute_modification_queries() method to make
+	the GdaDataModelQuery compute the INSERT, DELETE and UPDATE queries
+	(it does only work if the modified table has its PK listed in the SELECT
+	query).
+	* testing/Makefile.am:
+	* testing/gda-test-model-query.c:
+	* testing/tests_data/SQL_model_query_tests.xml: test for the new
+	gda_data_model_query_compute_modification_queries() function
+	* libgda/gda-data-model-query.c: correctly set the "not null" property
+	for each parameter composing a GdaDataModelIter when creating one
+	* gda-data-model-iter.[ch]: added a new "row_to_change" and a new 
+	gda_data_model_iter_row_can_change() to allow customers objects to react
+	(and even maybe stop) the iter to change its row
+	* libgda/gda-data-model.[hc]:
+	* libgda/libgda.h
+	* libgda/gda-data-model-private.h: moved some methods to private API
+	* libgda/gda-data-model-array.c: corrected a bug in the copy operation
+	where the "not NULL" attribute of columns was not copied
+	* libgda/gda-data-proxy.c: when writing back new rows to the proxied
+	data model, don't anymore emit a "row_removed" signal for the created
+	row
+	* libgda/gda-transaction-status.c: crash bug fixed
+	* libgda/gda-connection.c: removed transaction's status debug messages
+	* libgda/gda-value.c: fixed GDate comparison method
+	* libgda/data-entries/gda-handler-time.[ch]: added gda_handler_time_set_sql_spec()
+	to allow customizations of the way the SQL is rendered
+	* providers/mysql/gda-mysql-provider.c: modified the date data handler to
+	make it render SQL as 'YYYY-MM-DD'
+	
+2006-12-03  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/libgda-dict.dtd: correction to allow more types of characters
+	in the DSN
+	* libgda/gda-dict-table.c:
+	* libgda/gda-dict-database.c: make sure the VIEWS are also handled when
+	doing a dictionary sync. with the database structure
+	
+2006-11-30  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-dict-reg-aggregates.h: Added the macros for extern "C",
+	so we can use this from C++.
+
+2006-11-23  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-transaction/gda-sql-transaction-parser.c: don't print
+	anything on stdout even if there is an error
+
+2006-11-20  Bas Driessen <bas driessen xobas com>
+
+	* libgda/Makefile.am:
+	* libgda/sql-transaction/Makefile.am: Change library
+	libsqltransaction from a static to a shared type to allow
+	compilation on non 32-bits architectures.
+
+2006-11-19  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-provider.c: improved connection's 
+	transaction status tracking
+	* libgda/gda-connection.c:
+	* doc/C/tmpl/gda-transaction-status.sgml: improved documentation
+	* libgda/gda-server-provider.c: improved the supports_feature()
+	function
+	* doc/C: doc update
+
+2006-11-18  Djihed Afifi  <djihed gmail com>
+	
+	* configure.in: Added Arabic.
+
+2006-11-15  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in:
+	* libgda/Makefile.am:
+	* libgda/sql-transaction/*: new simple parser to recognize transaction
+	operations SQL
+	* libgda/gda-transaction-status.[ch]:
+	* libgda/gda-connection.[ch]:
+	* providers/sqlite/gda-sqlite-provider.c: improvements in the way the
+	GdaConnection object copes with the transaction status
+	* libgda/gda-client.[ch]: the name of the provider in
+	gda_client_perform_create_database() and
+	gda_client_perform_drop_database() is not required anymore
+
+2006-11-12  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: handle timestamps that aren't fully compliant
+	(Stian Skjelstad)
+	* gda-mysql-provider.c: mysql 4.x GET_CONSTRAINTS support, mysql 5.x
+	should now give full data on complex foreign keys (Stian Skjelstad)
+	* libgda/gda-transaction-status-private.h:
+	* libgda/gda-transaction-status.[ch]: new object to report on
+	connection's current transaction status
+	* libgda/gda-transaction.[ch]: removed obsolete object
+	* libgda/gda-server-provider.[ch]:
+	* libgda/gda-enums.h:
+	* libgda/gda-client.[ch]:
+	* libgda/gda-command.[ch]:
+	* providers/: GdaConnection now keeps track of the current transaction status
+	* libgda/gda-query.c: minor bug fixed
+	* libgda/gda-query-target.c:
+	* libgda/gda-query-field-field.c: added an option in providers to specify
+	if non LC identifiers must be rendered between double quotes.
+	* libgda/gda-decl.h: added GdaConnectionEvent declaration
+	* libgda/gda-sharp/gda-sharp-3.0.pc.in: fixed required gtk-sharp version
+
+2006-11-08  Murray Cumming <murrayc murrayc com>
+
+	* Makefile.am:
+	* configure.in:
+	* doc/C/Makefile.am:
+	* gda-sharp/Makefile.am:
+	* gda-sharp/gda-sharp-2.0.pc.in: Renamed to:
+	* gda-sharp/gda-sharp-3.0.pc.in:
+	* libgda-2.0.pc.in: Renamed to:
+	* libgda-3.0.pc.in:
+	* libgda/Makefile.am:
+	* libgda/graph/Makefile.am:
+	* libgda/handlers/Makefile.am:
+	* libgda/sql-delimiter/Makefile.am:
+	* providers/bdb/Makefile.am:
+	* providers/firebird/Makefile.am:
+	* providers/freetds/Makefile.am:
+	* providers/ibmdb2/Makefile.am:
+	* providers/ldap/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/msql/Makefile.am:
+	* providers/mysql/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/oracle/Makefile.am:
+	* providers/postgres/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/sybase/Makefile.am:
+	* providers/xbase/Makefile.am:
+	* report/libgda-report/Makefile.am:
+	* report/testing/Makefile.am:
+	* testing/Makefile.am:
+	* tools/Makefile.am:
+	Change the tarball version from 1.99.x to 2.99.x, to become
+	3.0.x when the API/ABI is declared stable.
+	Change the pkg-config name from libgda-2.0 to libgda-3.0.
+	Change the include path from libgda-2.0 to libgda-3.0.
+	Change the library name from libgda-2 to libgda-3.0.
+	Now all the version numbers are sane.
+
+2006-11-08  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-util.h:
+	* libgda/gda-util.c:
+	Renamed g_type_to_string() to gda_g_type_to_string(),
+	g_type_from_string() to gda_g_type_from_string(),
+	utility_table_field_attrs_stringify() to gda_utility_table_field_attrs_stringify(),
+	utility_table_field_attrs_parse() to gda_utility_table_field_attrs_parse(),
+	utility_build_encoded_id() to gda_utility_build_encoded_id(),
+	utility_build_decoded_id() to gda_utility_build_decoded_id(),
+	utility_check_data_model() to gda_utility_check_data_model(),
+	utility_data_model_dump_data_to_xml() to gda_utility_data_model_dump_data_to_xml(),
+	utility_parameter_load_attributes() to gda_utility_parameter_load_attributes(),
+	utility_find_or_create_data_type() to gda_utility_find_or_create_data_type()
+	so they are correctly namespaced.
+	* libgda/gda-data-model-import.c:
+	* libgda/gda-data-model-row.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-dict-aggregate.c:
+	* libgda/gda-dict-constraint.c:
+	* libgda/gda-dict-database.c:
+	* libgda/gda-dict-field.c:
+	* libgda/gda-dict-function.c:
+	* libgda/gda-dict-reg-aggregates.c: 
+	* libgda/gda-dict-reg-functions.c:
+	* libgda/gda-dict-reg-types.c: 
+	* libgda/gda-dict-table.c:
+	* libgda/gda-dict-type.c:
+	* libgda/gda-parameter-list.c::
+	* libgda/gda-parameter.c:
+	* libgda/gda-query-field-value.c:
+	* libgda/gda-query-parsing.c: 
+	* libgda/gda-query.c:
+	* libgda/gda-server-operation.c:
+	* libgda/gda-server-provider-extra.c:
+	* libgda/gda-value.c:
+	* libgda/handlers/gda-handler-type.c:
+	* providers/sqlite/gda-sqlite-recordset.c:
+	* testing/gda-test-models.c:
+	* testing/gda-test-sql.c:
+	* testing/html.c:
+	* tools/gda-diagnose.c:
+	* tools/gda-list-config.c:
+	* tools/html.c:: Used renamed functions.
+
+2006-11-08  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-server-provider.h: gda_server_provider_reset_connection(): 
+	Remove this function because there is no implementation and no documentation 
+	suggesting what it might do.
+
+2006-11-07  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-model.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-enums.h: Rename GValueAttribute to GdaValueAttribute, because 
+	we do not own the G namespace, and because this confuses language bindings.
+
+2006-11-07  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-data-model-private.h: #include gda-data-models-extra.h 
+	instead of redeclaring functions.
+
+2006-11-04  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c: fixed types errors 
+	("int unsigned" was detected as "int" and "text" was incorrectly 
+	interpreted as G_TYPE_STRING when MySQL considers it a BLOB)
+	* providers/mysql/gda-mysql-provider.c: use UTF-8 as character set
+
+2006-11-01  Vivien Malerba <malerba gnome-db org>
+
+	* AUTHORS: added Daniel Espinosa
+	* gda-sharp/gda-api.raw: applied a patch by Daniel Espinosa to
+	update the C# bindings
+	* providers/msql/gda-msql-provider.c:
+	* providers/msql/msql_specs_dsn.xml.in: improved the Msql provider
+	* providers/firebird/gda-firebird-recordset.c: make compilation with Firebird2
+	work
+	
+2006-10-30  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: bumped to 1.99.2
+	* providers/msql:
+	* providers/sybase: make these providers compile again
+	* doc/C/libgda-docs.sgml: updated providers' status
+	* autogen.sh: make sure we call bash because edgy uses dash
+
+2006-10-26  Vivien Malerba <malerba gnome-db org>
+
+	Released 1.99.1 (AKA 2.0 Beta3).
+
+2006-10-26  Vivien Malerba <malerba gnome-db org>
+
+	* providers/bdb/Makefile.am:
+	* providers/firebird/Makefile.am:
+	* providers/freetds/Makefile.am:
+	* providers/ibmdb2/Makefile.am:
+	* providers/ldap/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/msql/Makefile.am:
+	* providers/mysql/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/oracle/Makefile.am:
+	* providers/postgres/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/sybase/Makefile.am:
+	* providers/xbase/Makefile.am: applied a patch by Marc-Andre Lureau
+	to fix #362898
+	* configure.in: added a --enable-csharp option to enable or disable
+	the building of C# bindings
+	* gda-sharp/Makefile.am: packaging corrections and now "make distcheck" works
+	* libgda/gda-query.[ch]: changed the returned value of gda_query_execute()
+
+2006-10-21  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-connection.h:
+	* libgda/gda-data-model-iter.h:
+	* libgda/gda-data-model-query.h:
+	* libgda/gda-data-proxy.h:
+	* libgda/gda-dict-aggregate.h:
+	* libgda/gda-dict-constraint.h:
+	* libgda/gda-dict-database.h:
+	* libgda/gda-dict-field.h:
+	* libgda/gda-dict-function.h:
+	* libgda/gda-dict-table.h:
+	* libgda/gda-dict-type.h:
+	* libgda/gda-dict.h:
+	* libgda/gda-object-ref.h:
+	* libgda/gda-parameter-list.h:
+	* libgda/gda-parameter.h:
+	* libgda/gda-query-condition.h:
+	* libgda/gda-query-field-agg.h:
+	* libgda/gda-query-field-all.h:
+	* libgda/gda-query-field-field.h:
+	* libgda/gda-query-field-func.h:
+	* libgda/gda-query-field-value.h:
+	* libgda/gda-query-field.h:
+	* libgda/gda-query-join.h:
+	* libgda/gda-query-target.h:
+	* libgda/gda-query.h:
+	* libgda/graph/gda-graph-item.h:
+	* libgda/graph/gda-graph.h:
+	* libgda/libgda.h: Added a name for the error 
+	enum. This is required by language bindings.
+	* libgda/gda-graphviz.h: Commented-out 
+	GDA_GRAPHVIZ_ERROR because it is not used.
+	* libgda/graph/gda-graph-query.h: Commented-out 
+	GDA_GRAPH_QUERY_ERROR because it is not used.
+	* libgda/gda-client.c: (gda_client_perform_drop_database):
+	* libgda/gda-client.h: Added an enum for the GError, 
+	and used its code value instead of 0.
+
+2006-10-18  Vivien Malerba <malerba gnome-db org>
+
+	Released 1.99.0 (AKA 2.0 Beta2).
+
+2006-10-18  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: bumped to 1.99.0
+	* libgda/gda-data-proxy.[ch]: removed unused code
+	* testing/:
+	* tools/: moved gda-author-dict-file gda-diagnose gda-inspect-dict-file and
+	gda-list-config from testing/ to tools/
+
+2006-10-17  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-ddl.c: fixed typo
+	* providers/sqlite/gda-sqlite-handler-bin.c: minor bug fixed
+
+2006-10-14  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: 
+	* providers/mysql/: applied patches from Stian Skjelstad to
+	solve #357502, #357504 and #361802
+	* providers/sqlite/gda-sqlite-recordset.c:
+	* providers/sqlite/gda-sqlite-provider.c: bug fixes with column type recognition
+	* libgda/gda-init.c: improvements in the convenience functions (Daniel)
+
+2006-10-12  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-query.c: fixed bug in gda_data_model_query_get_attributes_at()
+	* libgda/gda-data-proxy.c: fixed bug in gda_data_proxy_get_value_attributes()
+	* providers/sqlite/sqlite-src: updated to SQLite 3.3.8
+	* libgda/gda-dict.c: make sure data types are always synced before anything else
+	
+2006-10-11  Daniel Espinosa <esodan gmail org>
+	
+	* libgda/gda-init.c, gda-init.h: API change: gda_insert_row_into_table renamed to
+	gda_insert_row_into_table_from_string; and added gda_insert_row_into_table wich spect
+	for GValue pointers instead strings, this is for powerfull insert row mecanish and 
+	avoid miss operations in string to GValue convertions.
+	
+	Improved Convenient Functions's Error messages 
+	
+	Added a new convenient function: gda_delete_row_from_table
+	
+2006-10-08  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C: documentation cleanups and improvements
+
+2006-09-30  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-init.c: applied a correction from Carlos to force the
+	declaration of some data types in GLib.
+	* doc/C: doc update
+
+2006-09-29  Daniel Espinosa <esodan gmail com>
+
+	* libgda/gda-init.c,libgda.h: Added Convenient functions to easy use of
+	libgda
+	* gdasharp: improved to fit the new API
+
+2006-09-24  Vivien Malerba <malerba gnome-db org>
+
+	* all files: improved API consistency:
+	s/get_gda_type/get_g_type/
+	s/set_gda_type/set_g_type/
+	s/gda_data_model_array_new_with_types/gda_data_model_array_new_with_g_types/
+	s/gda_type_to_string/g_type_to_string/
+	s/gda_type_from_string/g_type_from_string/
+	s/get_nb_gda_types/get_nb_g_types/
+	s/get_gda_type_index/get_g_type_index/
+	s/accepts_gda_type/accepts_g_type/
+	s/gda_dict_aggregate_set_arg_type/gda_dict_aggregate_set_arg_dict_type/
+	s/gda_dict_aggregate_get_arg_type/gda_dict_aggregate_get_arg_dict_type/
+	s/gda_dict_aggregate_set_ret_type/gda_dict_aggregate_set_ret_dict_type/
+	s/gda_dict_aggregate_get_ret_type/gda_dict_aggregate_get_ret_dict_type/
+	s/gda_dict_function_get_ret_type/gda_dict_function_get_ret_dict_type/
+	s/gda_dict_function_set_ret_type/gda_dict_function_set_ret_dict_type/
+	s/gda_dict_function_set_arg_types/gda_dict_function_set_arg_dict_types/
+	s/gda_dict_function_get_arg_types/gda_dict_function_get_arg_dict_types/
+	s/gda_dict_function_accepts_args/gda_dict_function_accepts_arg_dict_types/
+	s/gda_dict_type_set_gda_type/gda_dict_type_set_g_type/
+	s/gda_dict_type_get_gda_type/gda_dict_type_get_g_type/
+	s/gda_dict_update_dbms_data/gda_dict_update_dbms_meta_data/
+	s/gda_dict_stop_update_dbms_data/gda_dict_stop_update_dbms_meta_data/
+	s/gda_type/g_type/
+
+2006-09-23  Vivien Malerba <malerba gnome-db org>
+
+	* testing/gda-diagnose.c:
+	* libgda/gda-client.c: don't try to use the plugin_get_connection_params()
+	function as it does not exist anymore.
+	* libgda/gda-dict.[ch]: gda_dict_new() now return a GdaDict*
+	* configure.in: fixed IBM DB2 detection problem
+	* providers/sqlite/gda-sqlite-provider.c: corrected a bug with the reported
+	number of impacted rows after a non SELECT query
+	* providers/sqlite/gda-sqlite-recordset.c: corrected a bug with NULL values
+	* doc/C: doc. improvements
+	* libgda/gda-init.c: make sure GDate object type is really
+	initialized
+	* providers/ibmdb2/*: make the IBMDB2 provider compile again
+
+2006-09-15  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/parser.y: parameter specifications can now be enclosed in single
+	quotes (double quotes are still accepted
+	* libgda/gda-dic-reg-types.c:
+	* libgda/gda-dic-reg-aggregates.c:
+	* libgda/gda-dic-reg-functions.c: corrected a bug in XML saving
+	* libgda/sql-delimiter/lexer.l:
+	* libgda/sql-delimiter/parser.y: bug fixes in the SQL delimiter
+	* all files: improved API consistency:
+	s/gda_query_get_parameters_boxed/gda_query_get_parameter_list/
+	s/gda_data_model_query_get_param_list/gda_data_model_query_get_parameter_list/
+	gda_query_new_*() now return a GdaQuery*
+	gda_query_target_new_*() now return a GdaQueryTarget*
+	gda_query_condition_new_*() now return a GdaQueryCondition*
+	gda_query_join_new_*() now return a GdaQueryJoin*
+	gda_query_field_*_new() now return a GdaQueryField*
+	* libgda/gda-query-target.h: removed obsolete and unused GdaQueryTargetType enum
+	* libgda/gda-util.[ch]:
+	* libgda/gda-data-model.[ch]: when exporting to text or XML, one can now 
+	specify which rows need to be exported
+	* libgda/libgda-dict.dtd:
+	* libgda/gda-query.c: fixed a bug in query's parameter sources save and
+	load to and from XML
+	* libgda/gda-server-operation.[ch]: added gda_server_operation_set_value_at()
+	* minor bug fixes
+
+2006-09-11  Bas Driessen <bas driessen xobas com>
+
+	* providers/oracle/oracle_specs_drop_index.xml.in:
+	* providers/oracle/gda-oracle-ddl.c:
+	* providers/oracle/Makefile.am: implement server operation
+	drop_table for the oracle provider.
+
+2006-09-10  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-sharp: make Gda# work (Daniel Espinosa)
+	* libgda/gda-dict-type.c: return an error of the GType cannot be correctly
+	found
+	* libgda/gda-data-model-query.c: show a warning if the GType of a field
+	is invalid
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/sqlite/gda-sqlite-provider.c: in the get_data_handler() virtual
+	function, make sure the dates are represented using the current locale
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/sqlite/gda-sqlite-handler-bin.[ch]: new GdaDataHandler for the
+	SQLite to handle binary strings
+	* libgda/gda-server-provider.c:
+	* libgda/gda-connection.[ch]:
+	* libgda/providers/postgres:
+	* libgda/providers/mysql:
+	* libgda/providers/sqlite: Added gda_connection_execute_select_command(),
+	gda_connection_execute_non_select_command() and renamed
+	gda_connection_execute_command_l() to gda_connection_execute_command().
+	* other files: minor changes
+	
+2006-09-10  Bas Driessen <bas driessen xobas com>
+
+	* providers/oracle/oracle_specs_drop_table.xml.in:
+	* providers/oracle/gda-oracle-ddl.[ch]:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/oracle/Makefile.am: Start implementing server operations
+	for the oracle provider starting with the relatively small drop_table operation.
+
+2006-09-05  Bas Driessen <bas driessen xobas com>
+
+	* libgda/gda-server-provider.c: Set GDA_DEBUG to prevent SQL screen output in
+	a non debug environment.
+
+	* providers/mysql/gda-mysql-ddl.c:
+	Surrounded column names in create table operation for PRIMARY/FOREIGN KEY
+	and REFERENCES with back quote (`) to allow for reserved names as column name.
+
+	* providers/postgres/gda-postgres-ddl.c:
+	Surrounded column names in create table operation for PRIMARY/FOREIGN KEY
+	and REFERENCES with double quote (") to allow for reserved names as column name.
+
+2006-09-04  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/gda-mysql-ddl.c:
+	Surrounded column names in create index operation with back quote (`) 
+	to allow for reserved names as column name.
+
+	* providers/postgres/gda-postgres-ddl.c:
+	Surrounded column names in create index operation with double quote (") 
+	to allow for reserved names as column name.
+
+2006-09-03  Vivien Malerba <malerba gnome-db org>
+
+	Released 1.9.103 (AKA 2.0 Beta1).
+
+2006-09-03  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mdb/*: Improved the MDB provider
+	* doc/C: documentation update
+	* allfiles: small bug fixes
+
+2006-09-03  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/gda-mysql-ddl.c:
+	* providers/mysql/mysql_specs_add_column.xml.in:
+	* providers/mysql/mysql_specs_create_table.xml.in: added COLUMN_SIZE and 
+	COLUMN_SCALE paths for create table and add column operation for mysql and 
+	surrounded column names with back quote (`) to allow for reserved names
+	as column name.
+
+	* providers/sqlite/gda-sqlite-ddl.c:
+	* providers/sqlite/sqlite_specs_add_column.xml.in:
+	* providers/sqlite/sqlite_specs_create_table.xml.in: added COLUMN_SIZE and 
+	COLUMN_SCALE paths for create table and add column operation for sqlite.
+
+	* providers/postgres/postgres_specs_add_column.xml.in: removed default values.
+	* providers/postgres/postgres_specs_create_table.xml.in: added missing gda_value 
+	tags for COLUMN_SIZE and COLUMN_SCALE.
+	
+2006-09-02  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-ddl.c:
+	* providers/postgres/postgres_specs_add_column.xml.in:
+	* providers/postgres/postgres_specs_create_table.xml.in:
+	* doc/C/server-operation.xml: added COLUMN_SIZE and COLUMN_SCALE paths for
+	create table and add column operation for postgres and 
+	surrounded column names with double quote (") to allow for reserved names
+	as column name.
+
+2006-08-29  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-dict.[ch]: added gda_dict_object_{assume,declare}_as()
+	* all files: s/gda_server_provider_get_data_handler_gda/
+	gda_server_provider_get_data_handler_gtype/g
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/sqlite/gda-sqlite-provider.c: implemented the get_def_dbms_type()
+	virtual method
+
+2006-08-28  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-provider.c: accept "DATABASE" instead of "DB_NAME"
+	and "URI" instead of "DB_DIR" and "DB_NAME" in connection strings, and show a warning
+	* libgda/gda-threader.c: use a timeout instead of an idle function for shorter
+	notification time
+	* libgda/gda-server-operation.[ch]:
+	* providers/sqlite:
+	* providers/mysql:
+	* providers/postgres: Added support to rename a table and add a column to a table
+	* libgda/gda-dict.[ch]: replaced the "*_added", "*_removed" and "*_updated" signals 
+	with "object_added", "object_removed" and "object_updated" signals (impacts other
+	files as well).
+	* libgda/gda-dict-private.h:
+	* libgda/gda-dict-reg-*.[ch]:
+	* libgda/gda-dict.[ch]: make that object reference types, functions, aggregates 
+	and queries in a generic way to reduce code and enable future extensions 
+	without API/ABI breakage
+	* libgda/gda-dict-database.[ch]: code cleanups
+	* libgda/gda-dict.c:
+	* libgda/gda-dict-database.c: allow to update only some kind of meta-data
+	with the DBMS
+	* other files: changes required by the above changes, and minor bug fixes.
+	
+
+2006-08-20  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/*.xml.in: new files for server operation
+	* providers/sqlite/gda-sqlite-ddl.[ch]: new files which implement the SQL
+	for server operations
+	* doc/C/: documentation update
+	* s/gda_connection_supports/gda_connection_supports_feature/
+	* s/gda_server_provider_supports/gda_server_provider_supports_feature/	
+	* libgda/gda-enums.h:
+	* libgda/gda-dict-database.[hc]: added an option to update the information
+	from the database only on a given table.
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-provider.c: corrected the tables schema
+	listing for when only one table was requested.
+
+2006-08-11  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/libgda-array.dtd:
+	* libgda/gda-data-model.c:
+	* libgda/gda-util.c: individual values in XML representation of arrays 
+	can now be stored in <gda_array_value> nodes (rather than in 
+	<gda_value> nodes) where the column id for the value can be specified
+	* libgda/gda-data-proxy.c: bug fixed when removing sevaral rows at once:
+	the change signals were not correctly emitted.
+	* providers/postgres:
+	* providers/mysql: added the gda-*-ddl.[ch] files which actually render the
+	GdaServerOperation objects into SQL.
+	* libgda/gda-server-provider.[ch]: removed gda_server_provider_create_table(),
+	gda_server_provider_drop_table(), gda_server_provider_create_index() and
+	gda_server_provider_drop_index() as this functionnality is now done through the
+	GdaServerOperation object
+	* providers/*/gda-*-provider.c: removed reference to the create_table(), 
+	drop_table(), create_index() and drop_index() GdaServerProvider's virtual
+	functions as they don't exist anymore
+	* libgda/gda-connection.[ch]: removed gda_connection_create_table(),
+	gda_connection_drop_table(), gda_connection_create_index() and
+	gda_connection_drop_index() as this functionnality is now done through the
+	GdaServerOperation object
+	* libgda/gda-client.[ch]: replaced gda_client_get_provider_specs() 
+	with gda_client_prepare_create_database() and gda_client_prepare_drop_database()
+	and replaced gda_client_create_database() with gda_client_perform_create_database()
+	and gda_client_drop_database() with gda_client_perform_drop_database()
+	* libgda/gda-server-provider.[ch]: removed gda_server_provider_create_database_cnc()
+	and gda_server_provider_drop_database_cnc() as this functionnality is now 
+	done through the GdaServerOperation object
+	* testing/gda-diagnose.c: updated the GdaServerProvider classes test with
+	new methods
+
+2006-07-29  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.c: applied patch from
+	Carlos Savoretti
+
+2006-07-29  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/libgda-server-operation.dtd: added the possibility specify a value
+	for a parameter
+	* providers/postgres/gda-postgres-ddl.[ch]: new files which implement DDL queries
+	for the PostgreSQL provider
+	* providers/postgres/postgres_specs_*: updated DDL queries spec files
+	* po/POTFILES.in: added missing files to translate
+	* doc/C: documentation updates
+	* libgda/gda-data-model-array.[ch]:
+	* libgda/gda-data-model-hash.c:
+	* libgda/gda-data-proxy.c:
+	* libgda/gda-server-operation.[ch]:
+	* libgda/gda-server-provider.c: various bug fixes and updates
+
+2006-07-21  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query-target.c
+	* libgda/gda-query-field-field.c: add double quotes around the SQL if name starts 
+	with a number
+	* doc/C: added documentation for the GdaServerOperation object
+	* providers/postgres/gda-postgres-provider.c: more work on SQL rendering
+	for CREATE TABLE query
+	* libgda/gda-server-operation.c: major improvements
+	* various small improvements
+
+2006-07-14  Vivien Malerba <malerba gnome-db org>
+
+	* doc/C/*: docs update
+	* libgda/gda-server-operation.[ch]: almost fully implemented GdaServerOperation object
+	* libgda/*.dtd: cleanups
+	* providers/*/*.xml.in: changes applied because of the DTD changes
+	* testing/gda-test-server-operation.c: new test
+	* various files: minor bug fixes an improvements
+
+2006-07-04  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-server-operation.h: Commented out
+	gda_server_operation_get_node_type(), gda_server_operation_get_node_plist)_, 
+	gda_server_operation_get_node_param(), gda_server_operation_get_node_datamodel(), 
+	and gda_server_operation_get_node_seq_size(), because they are not implemented.
+
+2006-06-29  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-init.c: gda_main_run(): Documentation: 
+	Remove mention of Bonobo because libgda does not use 
+	it anymore.
+	* providers/sybase/main.c: Do not include the bonobo 
+	i18n header, because we do not depend on bonobo. I guess 
+	nobody is building this backend.
+
+2006-06-17  Gintautas Miliauskas  <gintas akl lt>
+
+	* configure.in: Added "lt" to ALL_LINGUAS.
+
+2006-05-24  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-proxy.c: fixed a bug which could make the GdaDataProxy object show
+	more data than there actually was in the displayed data model when the number of
+	rows of that data model is only known when all the model has been displayed.
+	* libgda/gda-data-model.c: improved gda_data_model_move_iter_at_row_default(),
+	gda_data_model_move_iter_next_default() and gda_data_model_move_iter_prev_default()
+	to include default value handling.
+	* libgda/gda-data-proxy.c: removed the non necessary custom iter_at_row() virtual method
+	* providers/mysql/mysql_specs_create_db.xml.in:
+	* providers/postgres/postgres_specs_create_db.xml.in: added translations support
+	* providers/postgres/postgres_specs_create_index.xml.in:
+	* providers/postgres/postgres_specs_create_table.xml.in:
+	* providers/postgres/postgres_specs_drop_index.xml.in:
+	* providers/postgres/postgres_specs_drop_table.xml.in: new spec files for provider operations
+	* libgda/gda-server-operation.[ch]: new object
+	* libgda/libgda-paramlist.dtd:
+	* libgda/libgda-server-operation.dtd: new DTD files for XML based specifications
+	* doc/C/query0*.svg:
+	* doc/C/query0*.png: new illustration files
+	* doc/C/*: documentation update
+	* testing/gda-inspect-dict-file.c: bug fixed
+	* functions renaming for API coherence
+	(gda_entity_field_get_data_type => gda_entity_field_get_dict_type,
+	gda_dict_field_set_data_type => gda_dict_field_set_dict_type,
+	gda_dict_get_data_type_by_name => gda_dict_get_dict_type_by_name,
+	gda_dict_get_data_type_by_xml_id => gda_dict_get_dict_type_by_xml_id,
+	gda_dict_get_data_types => gda_dict_get_dict_types,
+	gda_query_field_value_get_value_type => gda_query_field_value_get_gda_type)
+	* bug fixes
+
+2006-05-21  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-value.c: (set_from_string): Move this up to before it is used, to 
+	avoid an error caused by the clash with the implicit declaration.
+
+2006-05-16  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-dict.c: set only when necessary to avoid messages such as 
+	"validity error : Validation failed: no DTD found !"
+	* providers/sqlite/gda-sqlite-provider.c: don't return a data handler for G_TYPE_DATE and
+	GDA_TYPE_TIMESTAMP as SQLite does not impose a known format for dates (there is no date data
+	type)
+	* libgda/gda-query.c: display a warning when adding a field which gda type is not handled
+	by the provider associated to the dictionary's connection.
+	* libgda/gda-value.c:
+	* libgda/gda-data-handler.c: improved documentation regarding the usage of the user's
+	locale when converting a value to a string
+	* libgda/gda-entity-field.c:
+	* libgda/handlers/gda-handler-string.c: bug fixed
+	* 
+
+2006-05-12  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-delimiter/*: the delimiter now returns a list of GdaDelimiterStatement
+	structures, one for each identified SQL statement (SQL statements are separated by
+	semicolon.
+	* libgda/gda-query.c: modifications to handle the changes in the SQL delimiter
+	* libgda/sql-delimiter/gda-sql-delimiter.[ch]: added gda_delimiter_concat_list() and
+	gda_delimiter_split_sql()
+	* providers/firebird/gda-firebird-provider.c:
+	* providers/freetds/gda-freetds-provider.c:
+	* providers/ibmdb2/gda-ibmdb2-provider.c:
+	* providers/mdb/gda-mdb-provider.c:
+	* providers/msql/gda-msql-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/sybase/gda-sybase-provider.c: use gda_delimiter_split_sql instead of
+	g_strsplit to delimit SQL statements which fixes bug #131040
+	* testing/gda-diagnose: really take into account username and password (passed
+	as command line arguments) when opening the connection
+
+2006-05-10  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-dict-field.c: when a new data type is created, correctly sets its description
+	* testing/gda-author-dict-file.c: allow the specification of connection which is not a DSN
+	* libgda/gda-query-parsing.c: bug fixed
+	* libgda/gda-value.[ch]: added gda_value_take_binary()
+	* libgda/gda-value.c: bug fixes
+	* libgda/gda-dict-field.c: minor bug fixed when a gda data type does not exist
+
+2006-05-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-parameter-list.c: (gda_parameter_list_merge): Rename from 
+	gda_parameter_list_merge_paramlist_params(), because this is what is in the 
+	header, and gda_parameter_list_merge() would be  undefined otherwise. 
+	I do wonder if this is meant to be a public function.
+
+2006-05-09  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-value.c: (gda_value_is_null), (gda_value_is_number),
+	(gda_value_copy), (gda_value_get_binary), (gda_value_get_blob),
+	(gda_value_get_geometric_point), (gda_value_get_list),
+	(gda_value_get_numeric), (gda_value_get_short),
+	(gda_value_get_ushort), (gda_value_get_time),
+	(gda_value_get_timestamp), (gda_value_stringify),
+	(gda_value_compare), (gda_value_compare_ext), (to_string),
+	(gda_value_to_xml):
+	* libgda/gda-value.h: Use the const keyword for input parameters 
+	that will not be changed the function.
+
+2006-05-08  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query.c: gda_query_execute(): show SQL if query if GDA_DEBUG is set
+	* libgda/gda-query-target.c:
+	* libgda/gda-query-field-field.c: surround rendered SQL with double quotes if necessary
+	* libgda/gda-data-model-query.c: code cleanup
+
+2006-05-08  Vivien Malerba <malerba gnome-db org>
+
+	* Individual values are now strictly GValue, much of the GdaValue API has been removed.
+	* libgda/graph/gda-graph-item.c: corrected a bug where locale was used in XML loading and
+	saving.
+	* doc/C/Makefile.am: avoid to override HTML_DIR, closes bug #329930
+	* libgda/gda-server-provider-extra.c: applied patch from Chris Shoemaker, closing
+	bug #337986
+	* libgda/handlers/gda-handler-time.c: applied patch from Chris Shoemaker, closing
+	bug #338081
+	* applied patch from Thierry Moisan, closed bug #328418
+	* libgda/gda-dict.h: removed GDA_DICT_PROPOSED_FILE from the error codes enum
+	* libgda/gda-connection.[ch]: added domain and code error to returned errors,
+	fixes bug #319948
+	* libgda/gda-connection.c: added properties to use during construction, for bug #321724
+	* libgda/gda-connection.[ch]: removed gda_connection_set_client()
+	* libgda/gda-client.[ch]: added username and password arguments to 
+	gda_client_open_connection_from_string()
+	* testing/gda-test-connection.c: added a tool to test connections
+	* libgda/gda-client.c: don't create any fake DSN when opening a connection from a string,
+	for bug #332556	
+
+
+2006-05-08  Murray Cumming,  <murrayc murrayc com>
+
+	* libgda/gda-connection.c: (gda_connection_class_init): Correct the registration of the 
+	error and dsn_changed signals, correcting the parameter types and the marshallers.
+
+2006-05-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: removed newlines from ALL_LINGUAS.
+
+2006-04-24  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-query.c: applied a patch from Chris to fix a bug which would
+	prevent parameterized data-modification queries to work when the SELECT query isn't 
+	parameterized.
+	* libgda/gda-parameter.c:
+	* libgda/gda-parameter-list.c:
+	* libgda/gda-query-field-field.c:
+	* libgda/gda-query-field-value.c: s/handler_plugin/entry_plugin/g
+	* providers/mysql/gda-mysql-provider.c: take into account the version of the MySQL server to which
+	the connection is opened and not the version of the MySQL client libraries at compile time.
+	* providers/mysql/Makefile.am: define GDA_PACKAGE_VERSION as PACKAGE_VERSION is re-defined by
+	MySQL
+	* providers/oracle/gda-oracle-recordset.c: potential buffer overflow
+	correction
+	* providers/oracle/gda-oracle-provider.c: started improvements on the
+	schemas
+	* doc/C/query.xml: various improvements
+
+2006-04-14  Vivien Malerba <malerba gnome-db org>
+
+	* libgda-gda-dict.[ch]: added gda_dict_get_handler()
+	* libgda/gda-data-model-query.c: documentation improvements
+	* libgda/gda-server-provider.c: improvements in gda_server_provider_string_to_value()
+	* doc/C/query.xml: better explanations for query parameter's syntax
+
+2006-04-09  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: applied patch from Chris Shoemaker
+	to fix bug #337497
+
+2006-04-04  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-parameter-list.[ch]: added gda_parameter_list_add_param_from_string() to 
+	quickly add a parameter to a GdaParameterList object
+	* libgda/gda-entity.[ch]: removed gda_entity_get_parameters() and 
+	gda_entity_get_param_list()
+	* libgda/gda-query.[ch]: added gda_query_get_parameters() and 
+	gda_query_get_parameters_boxed()
+	* libgda/gda-query.[ch]: added gda_query_execute()
+	* libgda/gda-connection.[ch]: removed gda_connection_reset() which was never implemented
+	* libgda/gda-connection.[ch]: renamed gda_connection_execute_command() to
+	gda_connection_execute_command_l() and gda_connection_execute_single_command() to
+	gda_connection_execute_command() because the names were leading to misunderstandings
+	* libgda/gda-connection.[ch]: removed gda_connection_execute_non_query() which is quite a
+	nonsense
+	* libgda/gda-server-provider.[ch]: removed the reset() virtual method which was 
+	never implemented
+	* libgda/handlers/gda-handler-time.c: fixed a bug in string parsing
+	* libgda/testing/gda-test-models.c: improvements using GdaDataModelImport object
+	* libgda/gda-data-access-wrapper.c: added gda_data_access_wrapper_row_exists()
+	* libgda/gda-parameter-list.[ch]: added gda_parameter_list_add_param_from_value()
+	* libgda/gda-data-model-import.c: bug fixed in CSV parsing
+	* libgda/gda-data-proxy.c: correctly handle data models for which the total number
+	of rows is not known
+	* compilation warnings removed
+	* documentation corrections.
+
+2006-03-24  Vivien Malerba <malerba gnome-db org>
+	
+	Released 1.9.102.
+
+2006-03-24  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/Makefile.am: added a CLEANFILES target
+	* libgda/gda-data-access-wrapper.[ch]: new data model to offer random access
+	on top of a cursor only access data model
+	* libgda/*: small corrections and improvements
+	* libgda/doc/C: documentation update
+
+2006-03-18  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-dict.c: ignore the DTD declaration, and always use our own internal parsed DTD
+	to avoid paths problems in XML files
+	* libgda/gda-init.c: added gda_dict_dtd and gda_array_dtd global parsed DTD
+	* libgda/gda-data-model-import.[ch]: new GdaDataModel class to import data from 
+	XML or from a CSV text format
+	* libgda/libgda-array.dtd: DTD for GdaDataModel XML storage
+	* libgda/gda-data-model.[ch]: replaced gda_data_model_to_text_separated(), 
+	gda_data_model_to_xml(), gda_data_model_to_xml_node() and gda_data_model_add_data_from_xml_node()
+	by gda_data_model_export_to_string(), gda_data_model_export_to_file(), 
+	gda_data_model_import_from_model(), gda_data_model_import_from_string() and 
+	gda_data_model_import_from_file()
+	* libgda/gda-data-model-iter.[ch]: added gda_data_model_iter_is_valid()
+	* libgda/gda-data-model-array.c: replaced gda_data_model_array_new_from_xml_node() with
+	gda_data_model_array_copy_model()
+	* libgda/gda-data-model-extra.h: added new declarations for GdaDataModel implementations
+	* libgda/gda-value.[ch]: added gda_value_type_transformable() and
+	gda_value_transform()
+	* doc/C: doc. update
+	* po/POTFILES.in: added the missing providers/*/*.xml.in files
+	* testing/tests_data/DICT_Sales_postgres.xml: updated the DOCTYPE header
+	* other: s/gda_connection_is_open/gda_connection_is_opened/
+	s/gda_data_model_iter_at_row/gda_data_model_move_iter_at_row/
+	s/gda_data_model_iter_next/gda_data_model_move_iter_next/
+	s/gda_data_model_iter_prev/gda_data_model_move_iter_prev/
+	s/gda_data_model_iter_set_invalid/gda_data_model_iter_invalidate_contents/
+	and minor corrections
+
+2006-03-09  Chao-Hsiung Liao  <j_h_liau yahoo com tw>
+
+	* configure.in: Added "zh_HK" to ALL_LINGUAS.
+
+2006-03-08  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-parameter-list.c: handle correctly the xml:lang attribute
+	of <paramerer> tags
+	* providers/: implemented i18n in XML spec. files
+
+2006-03-06  Vivien Malerba <malerba gnome-db org>
+
+	* providers/oracle/gda-oracle-provider.c: compilation fixes
+
+2006-03-03  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-private.h: #define corrections
+	* libgda/gda-util.[ch]: added gda_default_escape_chars() and 
+	gda_default_unescape_chars()
+	* libgda/gda-value.[ch]: added gda_binary_to_string() and gda_string_to_binary()
+	* libgda/handlers/gda-handler-bin.c: bug fixes, and use gda_default_escape_chars()
+	gda_default_unescape_chars(), gda_binary_to_string() and gda_string_to_binary()
+	* libgda/handlers/gda-handler-string.c: bug fixes, and use gda_default_escape_chars()
+	and gda_default_unescape_chars()
+	* providers/mysql/*: removed compilation warnings, modifications to handle 
+	MySQL versions >= 5, implemented the GDA_CONNECTION_SCHEMA_CONSTRAINTS schema,
+	corrections for bug #318183
+	* providers/postgres/gda-postgres-provider.c: code cleanup
+	* providers/sqlite/gda-sqlite-provider.c: implemented the 
+	GDA_CONNECTION_SCHEMA_CONSTRAINTS schema
+
+
+2006-02-25  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/sqlite-src: using SQlite 3.3.4 sources
+	* providers/sqlite/gda-sqlite-provider.c: switched to SQLite 3.3.4 and implemented
+	the get_data_handler() method
+	* providers/sqlite/gda-sqlite.h && providers/sqlite/utils.c: switched to SQLite 3.3.4
+	* libgda/gda-connection.h: added a GDA_CONNECTION_SCHEMA_CONSTRAINTS schema to
+	get a list of all the constraints on a table
+	* libgda/gda-server-provider-extra.c: added utility code for the
+	GDA_CONNECTION_SCHEMA_CONSTRAINTS schema
+	* providers/mysql/gda-mysql-provider.c: implemented the get_data_handler() schema, 
+	and stated to implement the new GDA_CONNECTION_SCHEMA_CONSTRAINTS schema.
+	* providers/postgres/gda-postgres-provider.c: stated to implement the new 
+	GDA_CONNECTION_SCHEMA_CONSTRAINTS schema.
+	* libgda/gda-client.[ch]: gda_client_new() now does not require any argument and
+	GdaClient inherits directly GObject
+	* libgda/gda-connection.[ch]: now inherits directly GObject, and added a new
+	"dsn_changed" signal
+	* libgda/gda-data-model-query.c: corrected a bug which would make the program
+	loop indefinitely if the SELECT query could not be run
+	* libgda/gda-dict.c: uses the GdaConnection's "dsn_changed" signal
+	* libgda/gda-value.c: corrected TimeStamp copy function
+	* other files: minor corrections and improvements
+
+2006-02-18  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query-field-value.c: bug fixed when rendering as SQL
+
+2006-02-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/providers/postgres/utils.c: applied patch from Thomas
+	Klausner to fix bug#329933
+	* libgda/gda-connection.c, libgda/gda-data-model-query.c, libgda/gda-data-proxy.c:
+	minor bug fixes
+
+2006-02-03  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-delimiter/parser.y: corrected a bug with the "=" sign
+	* libgda/gda-parameter.c: bug fixes
+	* libgda/gda-enums.h: added GDA_VALUE_ATTR_NO_MODIF attribute to GdaValueAttribute
+	* libgda/gda-data-model.[ch]: added gda_data_model_get_attributes_at() function, 
+	and the i_get_attributes_at() virtual function
+	* libgda/gda-data-proxy.c: bug fixes, now use the i_get_attributes_at()
+	virtual function of the proxied data model
+	* libgda/gda-data-model-row.c, libgda/gda-data-model-hash.c: implemented the
+	i_get_attributes_at() interface
+	* libgda/gda-data-model-query.c: implemented the i_get_attributes_at() interface,
+	and now use the INSERT, UPDATE and DELETE queries to actually update data
+	* libgda/gda-data-model-row.c: added a "read_only" property which prevents any change to
+	the data model.
+	* minor bug fixes
+
+2006-01-29  Vivien Malerba <malerba gnome-db org>
+
+	* providers/ldap/gda-ldap-recordset.c:
+	* providers/msql/gda-msql-recordset.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/oracle/gda-oracle-recordset.c: removed the call to
+	gda_data_model_get_command_type() which does not exist anymore
+	* providers/mysql/gda-mysql-recordset.c: warnings corrections
+	* libgda/gda-data-model-array.c: spellings corrections
+	* providers/mysql/mysql_specs_create_db.xml:
+	* providers/postgres/postgres_specs_create_db.xml: updated the XML tags to make
+	the specs work again
+
+2006-01-28  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/sql-delimiter/gda-sql-delimiter.c: corrected memory leaks
+	* libgda/sql-delimiter/lexer.l: impose the INITIAL state
+	* libgda/sql-delimiter/*: added a new type of reported query: the "unknown" one
+	* libsql/sql_parser.c: corrected memory leaks
+	* testing/tests_data/SQL_parsing_tests.xml: added some tests and corrected some other ones
+	* libgda/gda-query.c, libgda/gda-query-field-value.c, libgda/gda-data-proxy.c: bug fixed
+	
+	
+2006-01-26  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-row.c, libgda/gda-data-model-hash.c, libgda/gda-data-model-array.c:
+	fixed a bug related to the gda_data_model_append_values() function, as discussed with
+	Bas Driessen
+	* libgda/gda-data-model-row.c: removed useless functions related to GdaDataModelIter
+
+2006-01-25  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query.c: corrected INSERT, UPDATE and DELETE queries SQL rendering
+	* libgda/gda-renderer.h: added a GDA_RENDERER_FIELDS_NO_TARGET_ALIAS option to
+	the rendering arguments
+	* libgda/gda-query-field-field.c: corrected SQL rendering
+	* libgda/gda-query-field-value.c: corrected a bug with NULL values
+	* libgda/gda-query.c: corrected bugs related to query copying
+	* libgda/gda-query-condition.c: condition copy bug fixed
+	* libgda/gda-dict.[ch]: s/typename/type_name/
+	* libgda/gda-query-parsing.[ch]: changed 
+	parsed_create_delete_query (GdaQuery *query, sql_delete_statement *delete, GError **error)
+	to
+	parsed_create_delete_query (GdaQuery *query, sql_delete_statement *del, GError **error)
+	* libgda/gda-query.[ch]: target aliases copy bug fixed, added gda_query_is_insert_query(),
+	gda_query_is_update_query() and gda_query_is_delete_query(), and SQL rendering and analyzing
+	bug fixes
+	* libgda/gda-data-model-query.[ch]: more features implemented
+	* libgda/gda-data-model.[ch]: added gda_data_model_send_hint()
+	* libgda/gda-dict.[ch]: GdaObject id assignment bug fixed and s/typename/type_name/
+	* libgda/sql-delimiter/gda-sql-delimiter.[ch]: added gda_delimiter_no_parse()
+
+2006-01-25  Bas Driessen <bas driessen xobas com>
+
+	* configure.in: require glib >= 2.6.0.
+	* testing/gda-diagnose.c (main):
+	* testing/gda-test-models.c (main):
+	* testing/gda-test-sql.c (main):
+	use functions g_mkdir() and access() to stay compatible with
+	glib 2.6.
+
+2006-01-22  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-query*: corrected bugs which prevented creation of queries when no
+	dictionary was provided or when the provided one did not contain anough database
+	structure information
+	* libgda/*: corrected a bug which prevented the --enable-debug
+	configure argument to work correctly
+	* testing/gda-test-sql.c: bug fixed
+	* testing/tests_data/SQL_parsing_tests.xml: new tests and possibility
+	to use an empty dictionary
+	* testing/tests_data/DICT_empty.xml: empty dictionary
+
+2006-01-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #327797
+
+	* libgda/gda-server-provider-extra.c:
+	* libgda/gda-query.c (query_sql_forget, gda_query_add_target,
+	gda_query_render_as_sql, assert_coherence_data_modify_query,
+	assert_coherence_aggregate_query):
+	* libgda/gda-query-condition.c (gda_query_condition_load_from_xml):
+	* libgda/gda-query-field-agg.c (gda_query_field_agg_render_as_str):
+	* libgda/gda-query-field-all.c (gda_query_field_all_render_as_str):
+	* libgda/gda-query-field-func.c (gda_query_field_func_render_as_str):
+	* libgda/gda-query-parsing.c (parsed_create_insert_query,
+	parsed_create_field_query_field):
+	* libgda/graph/gda-graph.c (gda_graph_load_from_xml):
+	* libgda/handlers/gda-handler-boolean.c (gda_handler_booler_init):
+	* libgda/handlers/gda-handler-numerical.c (gda_handler_numerical_init):
+	* providers/sybase/gda-sybase-provider.c
+	(gda_sybase_provider_process_sql_commands):
+	* providers/sybase/gda-sybase-recordset.c (gda_sybase_process_msg_result):
+	* providers/sybase/utils.c (sybase_add_cmsg_errors_to_list,
+	sybase_add_server_errors_to_list):
+	* testing/gda-author-dict-file.c (main):
+	* testing/gda-diagnose.c (detail_provider):
+	* testing/gda-test-sql.c (get_query_status, make_query_test): fixed
+	spelling/grammar errors.
+
+2006-01-18  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-extra.h: new header file which contains declarations for
+	functions to help GdaDataModel writers
+	* libgda/gda-value.c: small improvement in comparison functions
+	* libgda/gda-data-proxy.[ch]: bug fixes and improvements
+	* other files: small bug fixes and improvements	
+
+2006-01-15  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: corrected the version of libgda in HEAD had decreased (thanks
+	to Murray Cumming)
+	* libgda/libgda.h: removed the '#include <glib/gi18n-lib.h>' include
+	from the header (thanks	to Murray Cumming)
+
+2006-01-13  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/gda-sqlite-recordset.c: fixed a bug with empty result sets
+	* doc/C/libgda-sections.txt: fixed bugs which prevented documentation generation
+	* libgda/*: bug fixes
+
+2006-01-11  Vivien Malerba <malerba gnome-db org>
+
+	* Merged all the GnomeDb objects which do not depend on GTK+
+	  API and ABI have been changed
+
+2005-11-16  Cygwin Ports Maintainer <yselkowitz users sourceforge net>
+
+	* configure.in: changed to check for the correct shared library
+	extensions depending on the system.
+
+	* libgda/Makefile.am:
+	* libsql/Makefile.am:
+	* providers/bdb/Makefile.am:
+	* providers/freetds/Makefile.am:
+	* providers/ldap/Makefile.am:
+	* providers/mdb/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/postgres/Makefile.am:
+	* providers/sqlite/Makefile.am:
+	* providers/xbase/Makefile.am:
+	* report/libgda-report/Makefile.am: use -no-undefined in $LDFLAGS for
+	Cygwin compilation.
+
+	* providers/mdb/gda-mdb.h: fixed order of included headers.
+
+	* providers/odbc/gda-odbc.h:
+	* providers/odbc/gda-odbc-provider.h: include windows.h if running
+	on Cygwin.
+
+	* providers/postgres/utils.c (gda_postgres_set_value): fixed typo.
+
+2005-11-02  Bob Ham <rah bash sh>
+
+	* libsql/Makefile.am: fixes for building out of the source tree.
+
+2005-10-27  Leonardo Boshell <p kapcoweb com>
+
+	* configure.in: check for explicit FreeTDS 0.63 version.
+
+	* providers/freetds/gda-freetds-provider.h: if using FreeTDS 0.63,
+	define some missing macros.
+
+2005-10-27  Juan Manuel Mouriz <jmouriz gmail com>
+
+	* doc/C/libgda-docs.sgml: fixed example code.
+
+2005-10-26  Murray Cumming <murrayc murrayc com>
+
+	* libgda/gda-threader.c: (gda_threader_new):
+	* libgda/gda-threader.h: Rename GDA_THREADER_TYPE to 
+	GDA_TYPE_THREADER, so it matches the convention, for 
+	language bindings, though I am not sure if this is public 
+	API anyway.
+
+2005-10-26  Martin Schulze <joey infodrom org>
+
+        * libgda/gda-log.c (gda_log_error, gda_log_message): pass clean
+        strings to syslog.
+
+2005-10-13  Dan Winship  <danw novell com>
+
+	* libgda/gda-data-model.h, etc: Rename GInterface-related macros,
+	structures, etc to correspond to the standard naming conventions
+	so the gtk-sharp parser will interpret them correctly.
+
+	* gda-sharp/gda-api.raw: Regen, picking up GdaDataModel's signals
+
+	* gda-sharp/Gda.metadata: update for various API changes since
+	this was written.
+
+2005-10-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.9.100.
+
+2005-10-07  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: bug fixed
+	
+2005-10-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-column.c, libgda/gda-column-index.c: bug fixes
+
+2005-09-28  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-column.h: added gda_column_equal() which is already in the .c file
+
+2005-09-28  Bas Driessen <bas driessen xobas com>
+
+	* libgda/gda-row.h:  Don't use the C++ keyword 'new'
+	as argument name.
+
+2005-09-27  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-row.[ch]: added gda_row_set_model(), improved the referencing of the
+	GdaDataModel and modified the gda_row_copy() which now do not copy anymore the model
+	attribute (because the new GdaRow is unknown to the model the original GdaRow belongs to)
+	* libgda/gda-row.c: added "model", "values" and "nb_values" properties to make it easy for bindings.
+	* libgda/gda-row.c: improved documentation
+	* libgda/gda-column.[ch]: re-added gda_column_copy() and gda_column_equal().
+	* libgda/gda-data-model.[ch]: removed the 'const' attribute to the GdaRow * in the
+	gda_data_model_update_row() and gda_data_model_remove_row() functions
+	* libgda/gda-util.[ch]: added gda_provider_get_schema_nb_columns() and
+	gda_provider_init_schema_model() to make it easy to providers implementers to initialize
+	data models returned for schema requests.
+	* providers/sqlite/gda-sqlite-provider.c: uses the SQLite specific PRAGMA command when possible
+	to limit as much as possible the usage of SQLite's internal structures
+	* providers/sqlite/gda-sqlite-provider.c: now use gda_provider_get_schema_nb_columns()
+	and gda_provider_init_schema_model()
+
+2005-09-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #317267
+
+	* libgda/Makefile.am: added gda-data-model-private.h to $sources.
+
+2005-09-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.9.99.
+
+2005-09-25  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model.[ch]: changed the signature of the gda_data_model_append_column()
+	to make it return a GdaColumn (instead of having to pass one to the function).
+	* libgda/gda-data-model.[ch]: removed gda_data_model_update_column() which does not serve
+	any purpose (and was implemented nowhere)
+	* libgda/gda-row.[ch]: made GdaRow a GObject
+	* libgda/gda-row.[ch]: added gda_row_set_value()
+	* libgda/gda-blob.[ch]: removed gda_blob_stringify() and added gda_blob_get_sql_id()
+	* libgda/gda-connection.[ch]: added gda_connection_fetch_blob_by_id()
+	* libgda/gda-server-provider.[ch]: added gda_server_provider_fetch_blob_by_id()
+	* libgda/gda-data-model.[ch]: removed the "const" attribute of the GdaRow returnes
+	by the gda_data_model_append_values() and gda_data_model_get_row() functions.
+	* libgda/gda-colmun.[ch]: added a "gda_type_changed" signal
+	* libgda/gda-data-model-base.c: show warnings if a data model already contains data
+	and the gda type of a column is changed and becomes incompatible with the already
+	existing values in the represented column
+	* other files: modifications made necessary by the modifications listed above
+
+2005-09-21  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/sqlite-src: updated to version 3.2.6
+
+2005-09-21  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-data-model.[ch]: moved unused methods into a private header file:
+	gda_data_model_changed(), gda_data_model_row_inserted(), gda_data_model_row_updated(),
+	gda_data_model_row_removed(), gda_data_model_get_command_text(), 
+	gda_data_model_set_command_text(), gda_data_model_get_command_type(),
+	gda_data_model_set_command_type().
+	* libgda/gda-data-model.[ch]: removed unused methods:
+	gda_data_model_column_inserted(), gda_data_model_column_updated(), 
+	gda_data_model_column_removed(), gda_data_model_get_column_position()
+	* libgda/gda-column.[ch]: removed unused method gda_column_equal() and dangerous
+	method gda_column_free(), and added gda_column_set_title() and gda_column_get_title()
+	* libgda/gda-data-model.c: IMPORTANT change: the GdaColumn object
+	returned by gda_data_model_describe_column() belongs to the
+	GdaDataModel and MUST NOT be destroyed.
+	* libgda/gda-data-model.c: re-implemented gda_data_model_get_column_title() and
+	gda_data_model_set_column_title() and using gda_column_get_title() and 
+	gda_column_set_title()
+	* libgda/gda-table.[ch]:
+	* libgda/gda-export.[ch]:
+	* libgda/gda-xml-connection.[ch]:
+	* libgda/gda-xml-database.[ch]:
+	* libgda/gda-xml-document.[ch]: removed these unfinished/non working objects
+	* libgda/gda-xql-*: removed these files as there is no documentation on how to use them,
+	there are not used elsewhere in libgda and they are not the correct way to implement
+	XML queries. Note that a GdaTable can easily be replaced by a
+	GdaDataModelArray
+	* libgda/gda-blob.[ch]: corrections to make the object work.
+	* libgda/providers/postgres/gda-postgres-blob.[ch]: new GdaPostgresBlob object which
+	implements the virtual methods defined in the GdaBlob class.
+	* libgda/providers/firebird/gda-firebird-blob.[ch]: updated implementation of BLOBs
+	using the new GdaBlob class
+	* configure.in: removed XML provider
+	* configure.in: improved test to locate MDB libraries
+	
+
+2005-09-15  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.h: removed the gda_value_set_type() declaration as there is no 
+	definition for that function (and having such function is meaningless).
+	* libgda/gda-value.[ch]: corrected the signatures of the gda_value_get_binary() and
+	gda_value_set_binary() functions
+	* libgda/gda-column-index.[ch]: removed the gda_column_index_free() which is a bad
+	implementation (GdaColumnIndex is a GObject), use g_object_unref() instead
+	* libgda/gda-value.c: renamed gdatype_to_gtype() to 
+	gda_value_convert_gdatype_to_gtype()
+	and gtype_to_gdatype() to gda_value_convert_gtype_to_gdatype() 
+	and made those functions public.
+	* libgda/gda-value.h: added gda_value_convert_gdatype_to_gtype() and
+	gda_value_convert_gtype_to_gdatype().
+	* providers/postgres/util.c: fixed bug #31196
+	* libgda/gda-value.[ch]: fixed bug #310226 (Use guchar* instead of gpointer)
+	* providers/postgres/gda-postgres-provider.c: correction related to bug #314858
+	* other files: modifications made necessary by the modifications listed above
+
+2005-09-05  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/sqlite-src: updated to version 3.2.5
+
+2005-09-05  Vivien Malerba <malerba gnome-db org>
+
+	* providers/sqlite/*: improved the SQLite provider to take into account the
+	real data type of columns instead of always returning string GdaValues
+	* providers/postgres/gda-postgres-provider.c: applied patch from Juan Manuel Mouriz
+
+2005-09-05  IÃaki LarraÃaga  <dooteo euskalgnu org>
+
+	* configure.in: Added "eu" to ALL_LINGUAS.
+
+2005-08-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: depend on GTK#/gapi 2.3.90 or greater.
+
+2005-08-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in:
+	* doc/Makefile.am: libgda was the only library using scrollkeeper
+	for API docs. Now no more.
+
+2005-08-14  Pawan Chitrakar  <pawan nplinux org>
+
+	* configure.in: Added ne in ALL_LINGUAS
+
+2005-08-12  Juan Manuel Mouriz <jmouriz gmail com>
+
+	* providers/postgres/utils.c (gda_postgres_sqlstate_to_gda_code): new
+	function.
+	(gda_postgres_make_error): convert SQLstate to GDA error code.
+
+2005-08-11  Dan Winship  <danw novell com>
+
+	* configure.in: add checks for mono/gtk-sharp
+	(AC_OUTPUT): add gda-sharp stuff
+
+	* Makefile.am (SUBDIRS): add gda-sharp
+
+	* gda-sharp/*: C# bindings for libgda, migrated from gtk-sharp.
+	They compile, but probably don't work (just like the ones formerly
+	in gtk-sharp. Hopefully they'll be maintained better here.)
+
+	* libgda/gda-blob.h: Fix some problems noticed by the gapi
+	parser... this type doesn't work at all, does it?
+
+2005-08-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.3.91.
+
+2005-08-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_create_database,
+	gda_client_drop_database): added missing return statement.
+
+2005-08-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/xml/gda-xml-provider.c (add_type_row): use
+	gda_value_new_gdatype, not gda_value_new_type.
+
+2005-08-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config,[ch]: added missing argument list.
+
+2006-08-07  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.3.90.
+
+2005-08-06  Vivien Malerba <malerba gnome-db org>
+
+	* configure.in: make sure the postgres installation used is the one
+	passed using the --with-postgres if that argument has been used.
+	* providers/sqlite/sqlite-src/: updated to version 3.2.2 of SQLite
+	* libgda/gda-connection-event.[ch]: changed the signature of the
+	gda_connection_event_new() to include event type
+	* libgda/gda-client.[ch]: the "error" signal now only passes the
+	actual GdaConnectionEvent which represents the error as argument
+	* libgda/gda-client.c: bug fixed when a conection could not be opened
+	* libgda/gda-connection.|ch]: added a GError** argument to the
+	gda_connection_new() function
+	* libgda/gda-connection.c: gda_connection_add_event() and 
+	gda_connection_add_event_list() doe not destroy
+	the list of events kept by the GdaConnection anymore (this needs
+	to be done manually using gda_connection_clear_events_list()).
+	* libgda/all files: s/GDA_CONNNECTION/GDA_CONNECTION/
+	* providers/postgres/gda-postgres-provider.c: better error and notices
+	reporting
+	* providers/postgres/gda-sqlite-provider.c: better error and notices
+	reporting
+	* providers/postgres/gda-mysql-provider.c: better error and notices
+	reporting
+	* All files: renamed gda_connection_add_event_list() to 
+	gda_connection_add_events_list()
+	* providers/oracle/util.c, providers/oracle/gda-oracle-recordset.c: fixed a bug
+	with values of type GDA_VALUE_TYPE_NUMERIC which got transfered as 
+	GDA_VALUE_TYPE_STRING
+	* providers/oracle/gda-oracle-provider.c: corrected the NOT NULL value returned
+	by the FIELDS schema
+
+2005-07-31  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-client.[ch]: added gda_client_drop_database()
+	* libgda/gda-connection.[ch]: removed gda_connection_create_database()
+	where gda_client_create_database() can be used instead, and removed
+	gda_connection_drop_database() where gda_client_drop_database() can
+	be used instead.
+	* libgda/gda-connection.[ch]: modified API to include a GError ** argument
+	for easy error reporting.
+	* libgda/gda-server-provider.[ch]: changed the virtual methods regarding
+	database creation and destruction: a get_specs virtual method has been added
+	to get an XML string describing the required parameters to perform a specific
+	action (existing actions are listed in a GdaClientSpecsType enum), and
+	added a perform_action_params virtual method to do the actual action
+	for which the specs have been obtained (such as "create a database").
+	* doc/C: documentation update
+
+2005-07-29  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-client.[ch]: added a GError to gda_client_open_connection() and
+	gda_client_open_connection_from_string(), and replaced
+	gda_client_get_connection_list() with gda_client_get_connections()
+	* all files: renamed GdaError to GdaConnectionEvent
+	* libgda/gda-connection-event.[ch]: renamed files from gda-error.[ch]
+	* all files: replaced gda_connection_event_[gs]et_number()
+	by gda_connection_event_[gs]et_code()
+	* all files: replaced gda_connection_event_[gs]et_error_type() by
+	gda_connection_event_[gs]et_event_type()
+	* providers/sqlite/gda-sqlite-provider.c: replaced sqlite_complete() by
+	sqlite3_complete() to avoid undefined symbols
+	* providers/postgres/utils.c improved gda_postgres_make_error()
+	to add sqlstate (thanks to Juan Manuel Mouriz)
+	* providers/postgres/gda-postgres-provider.c: added a test to the
+	gda_postgres_provider_supports() function when the cnc argument is really 
+	used
+	* providers/freetds/gda-freetds-provider.c: minor correction related to
+	the GdaValue recent changes.
+	* libgda/gda-connection-event.[ch]: added gda_connection_event_get_gda_code()
+	and gda_connection_event_set_gda_code() to have libgda standardized event 
+	codes (suggested by Juan Manuel Mouriz)
+
+2005-07-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #311573
+
+	* providers/mdb/gda-mdb-provider.c (get_mdb_types): fixed description
+	of "repid" type.
+
+	* providers/xbase/libmain.c (plugin_get_description):
+	* providers/sybase/gda-sybase-provider.c
+	(gda_sybase_provider_process_sql_commands):
+	* providers/sybase/gda-sybase-recordset.c (gda_sybase_process_msg_result):
+	* providers/sybase/utils.c (sybase_add_cmsg_errors_to_list,
+	sybase_add_server_errors_to_list, sybase_add_client_errors_to_list):
+	* providers/odbc/gda-odbc-provider.c (get_odbc_procedures): fixed strings.
+
+2005-07-21  Christopher Taylor <christophth tiscali it>
+
+	Fixes #306682
+
+	* providers/firebird/gda-firebird-recordset.c (fb_gda_value_fill): calm
+	down gcc 4.0.
+
+2005-07-16  Vivien Malerba <malerba gnome-db org>
+
+	* providers/firebird/gda-firebird-provider.c: disabled a useless test
+	(thanks to Juan Manuel Mouriz)
+
+2005-07-14  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: code cleanups and bug fixes
+	* libgda/doc/C: improved GdaValue's documentation
+	* libgda/gda-value.[ch]: renamed gda_value_new_type() to
+	gda_value_new_gdatype() and added gda_gvalue_set_gdatype()
+	and gda_gvalue_get_gdatype() for GdaValue values of type
+	GDA_VALUE_TYPE_TYPE.
+	* providers/postgres/util.c: fixed a bug with DOUBLE and SINGLE data types
+
+2005-07-10 Daniel Espinosa Ortiz <esodan gmail com>, Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c
+	* libgda/gda-value.h
+	* libgda/gda-blob.c
+	* libgda/gda-blob.h
+	* libgda/gda-row.c
+	* providers/ldap/utils.c
+	* providers/mysql/gda-mysql-provider.c
+	* providers/oracle/utils.c
+	* providers/postgres/gda-postgres-provider.c
+	* providers/postgres/utils.c
+	Porting of GdaValue implementation to GValue. Now GdaValue is basically
+	a GValue container, but exist some special kind of values like smallint,
+	smalluint, GdaMoney, GdaGeometricPoint, etc., that is recomend to handle
+	with the API of GdaValue, because they uses a custom GType derived,
+	and have a special way to store in the GValue container, is the case of
+	smallint, for example,and must use the API to set/get this kind of values.
+
+2005-07-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.3.4.
+	
+2005-07-08  Murray Cumming <murrayc murrayc com>
+
+	Fixes #309332
+
+	* configure.in: Check for postgres headers in the
+	version-specific directories used by Ubuntu Breezy.
+
+2005-07-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-column-index.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-data-model-index.c:
+	* providers/sqlite/gda-sqlite-recordset.c: added missing headers.
+
+2005-07-02  Vivien Malerba <malerba gnome-db org>
+
+	* postgres/gda-postgres-provider.c:
+	* mysql/gda-mysql-provider.c: Fixed a bug in the tables' fields schema
+
+2005-07-01  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-config.c: bug fixed in gda_data_source_info_equal()
+	* libgda/gda-client.[ch]: added gda_client_get_dsn_specs()
+	* libgda/gda-config.c: bug fixed when saving global config file
+	* libgda/gda-threader.[ch]: use GType for GObject, not guint
+	* doc/C: doc update
+
+2005-06-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.c (gda_mysql_recordset_update_row):
+	removed invalid g_free call.
+
+2005-06-30  Stanislav Brabec <sbrabec suse de>
+
+	* libgda/gda-data-model.c (gda_data_model_set_command_text,
+	gda_data_model_set_command_type):
+	* libgda/gda-config.c (gda_config_set_string, gda_config_set_int,
+	gda_config_set_float, gda_config_set_boolean,
+	gda_config_save_data_source, gda_config_save_data_source_info):
+	fixed return values.
+
+	* providers/ldap/libmain.c:
+	* providers/mysql/libmain.c:
+	* providers/odbc/libmain.c:
+	* providers/sqlite/libmain.c:
+	* providers/xml/libmain.c: added missing header files.
+
+2005-06-25  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/libmain.c
+	(plugin_get_dsn_spec): use correct data type
+	gsize rather than gint when calling function
+	g_file_get_contents. The x86_64 platform is 
+	very picky about this and crashes with a 
+	segmentation fault.
+
+	* providers/postgres/libmain.c
+	(plugin_get_dsn_spec): idem.
+
+	* providers/sqlite/libmain.c
+	(plugin_get_dsn_spec): idem.
+
+2005-06-24  Bas Driessen <bas driessen xobas com>
+
+	* libgda/Makefile.am: Replace hardcoded "lib"
+	with $(libdir) so it works OK on 64 bit platforms
+	where "lib64" is used.
+
+	* providers/bdb/gda-bdb-recordset.c: Cater for bdb 
+	versions > 4.3.x 
+
+2005-06-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #307549
+
+	* libgda/gda-config.c:
+	* configure.in: s/debug/GDA_DEBUG to avoid weird substitions on MySQL
+	headers.
+
+2005-06-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda-2.0.pc.in:
+	* Makefile.am: use fixed 2.0 for pkg-config.
+
+2005-06-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* Makefile.am: install libgda-x.x.pc instead of just libgda.pc.
+
+2005-06-14  Alex <alex igalia com>
+
+	* providers/postgres/gda-postgres-recordset.c (guess_table_name):
+	fixed leak on query string.
+
+2005-06-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.3.3.
+
+2005-06-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	* Makefile.am:
+	* libgda/Makefile.am: added missing files to CLEANFILES.
+
+2005-06-01 Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model.c: gda_data_model_to_xml(): the contents of the 
+	  GdaDataModel is now dumped into a <data-array> tag.
+	* libgda/gda-data-model-array.[ch]:added gda_data_model_array_new_from_xml_node()
+	* libgda/gda-client.[ch]: added gda_client_get_specs_to_create_database() and
+	  gda_client_create_database()
+	* libgda/gda-server-provider.[ch]: added virtual methods: get_specs_create_database()
+	  and create_database_params(), and renamed virtual method create_database() to 
+	  create_database_cnc()
+	* libgda/gda-server-provider.[ch]: renamed gda_server_provider_create_database()
+	  to gda_server_provider_create_database_cnc() and marked it as deprecated
+	* libgda/gda-server-provider.[ch]: added gda_server_provider_create_database()
+	  and gda_server_provider_get_specs_to_create_database()
+	* libgda/doc: update to API changes
+	* libgda/providers/sqlite/*: implemented the 
+	  gda_server_provider_get_specs_to_create_database() and 
+	  gda_server_provider_create_database() functions, and
+	  implemented the "Extra attributes" column for table's fields schema
+	* libgda/providers/postgres/*: implemented the 
+	  gda_server_provider_get_specs_to_create_database() and 
+	  gda_server_provider_create_database() functions and
+	  implemented the "Extra attributes" column for table's fields schema
+	* libgda/providers/mysql/*: implemented the 
+	  gda_server_provider_get_specs_to_create_database() and 
+	  gda_server_provider_create_database() functions and
+	  implemented the "Extra attributes" column for table's fields schema	
+
+2005-05-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.3.2
+
+2005-05-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libsql/Makefile.am: added libgdasql.la as a dependency for
+	sql_parse_test, so that the library gets built first.
+
+	* providers/sqlite/Makefile.am: fixed to pass make distcheck.
+
+	* doc/C/Makefile.am: s/AM_CPPFLAGS/GTKDOC_FLAGS.
+
+2005-05-18  Mike Fisk <mfisk woozle org>
+
+	Fixes #304586
+
+	* providers/mysql/gda-mysql-recordset.c (fill_gda_value): set
+	correctly unsigned values.
+
+2005-05-17  Bas Driessen <bas driessen xobas com>
+
+	* doc/C/Makefile.am: Fix noise autogen.sh by
+	changing the deprecated INCLUDES to AM_CPPFLAGS.
+
+2005-05-14 Vivien Malerba <malerba gnome-db org>
+
+	* Changed the GDA_CONNECTION_SCHEMA_PROCEDURES schema: the list of argument types
+	  are now separated by commas and not by spaces as some data types contain
+	  spaces themselves.
+	* data/config: removed the default system-wide test XML database
+	* data/sales-test.db: new database file for a sample Sales test database
+	* gda-config.c: when the user directory ~/.libgda does not exist, then it's created
+	  and a data source is declared for the sample Sales test database
+	* gda-config.[ch]: s/gda_config_copy_data_source_info/gda_data_source_info_copy/
+	  and s/gda_config_free_data_source_info/gda_data_source_info_free/
+	* gda-config.c: use Gamin or FAM to monitor changes made to either the global
+	  config file or the local user config file and notify of changes when
+	  appropriate
+	* configure.in: added Gamin or FAM discovery and a --enable-debug option
+	* providers/sqlite/sqlite-src/*: updated to SQLite version 3.2.1
+
+2005-05-13  Mike Kestner <mkestner ximian com>
+
+	* libgda/gda-export.c (gda_export_class_init): fixed typo in
+	"cancelled" signal creation.
+
+2005-05-03  Dru <andru treshna com>
+
+	* libgda/gda-column.c: added some comments to references function.
+
+2005-04-30  Jean BrÃfort <jean brefort ac-dijon fr>
+
+	Fixes #302158
+
+	* configure.in: fixed MySQL detection.
+
+2005-04-23  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-data-model.[ch]: added gda_data_model_dump_as_string() and fixed
+	  gda_data_model_dump()
+	* providers/mysql/gda-mysql-provider.c: improved data types schema, and added an
+	  extra column for data type synonyms
+	* providers/oracle/gda-oracle-provider.c: idem
+	* providers/postgres/gda-postgres-provider.c: idem
+	* providers/sqlite/gda-sqlite-provider.c: added an extra column for data type synonyms
+
+2005-04-22  Dru <andru treshna com>
+
+	* libgda/gda-config.h: Fixed // problem with header file where it
+	wasnt ansi C complient and causing build errors.
+
+2005-04-21  Magnus Bergman <magnus bergman observer net>
+
+	Fixes #301485
+
+	* providers/oracle/gda-oracle-provider.c
+	(gda_oracle_provider_supports, gda_oracle_provider_execute_command):
+	made it compile with GCC 4.
+
+2005-04-21  Magnus Bergman <magnus bergman observer net>
+
+	Fixes #301480
+
+	* configure.in: make it work with Oracle 10's headers.
+
+2005-04-17  Alan Knowles <alan akbkhome com> 
+
+	* providers/mysql/gda-mysql-provider.c: 
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-provider.h:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/mysql/gda-mysql.h:
+	* providers/mysql/utils.c:
+	Fix mysql provider's internal usage of gda_mysql_provider_value_to_sql_string()
+
+2005-04-17  Vivien Malerba <malerba gnome-db org>
+	
+	* providers/postgres/gda-postgres-provider.c: Improved fields schema
+	* providers/mysql/gda-mysql-provider.c: Added a procedures (functions) schema
+	  (needs more work) and a views schema (empty for now as MySQL does not support
+	  views)
+
+2005-04-14  Murray Cumming <murrayc murrayc com>
+
+	* libgda/gda-xql-update.h: GdaXqlUpdate 
+	should contain an instance of the parent type 
+	(GdaXqlDml), not a pointer to one. This avoids 
+	glib warnings about the instance size.
+
+2005-04-13  Vivien Malerba <malerba gnome-db org>
+	
+	* applied patch from Jorge Bernal to fix bug #153292
+	* libgda/providers/sqlite/gda-sqlite-provider.c: implemented some missing schemas
+	* libgda/providers/sqlite/sqlite-src/*: imported SQLite sources version 3.2.1, required
+	  by the SQLite provider (inner functions used).
+	* configure.in: don't search for SQLite as it's embedded within libgda, always build it.
+	* libgda/gda-init.c: test if glib threads are mot yet enabled before calling g_thread_init().
+
+2005-04-11  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/utils.c
+	(gda_mysql_value_to_sql_string_local):
+	Restore old gda_mysql_value_to_string function under
+	unique new name, as new function does not function in
+	record set functions.
+
+	* providers/mysql/gda-mysql-recordset.c
+	(gda_mysql_recordset_append_row)
+	(gda_mysql_recordset_remove_row):
+	Change call to gda_mysql_value_to_string function to 
+	local one to prevent undefined symbol error aborts.	
+
+2005-04-10  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-data-model.[ch]: added gda_data_model_dump()
+	* libgda/gda-init.c: added a call to g_thread_init()
+	* libgda/gda-threader.[ch]: new GdaThreader object which allows to run a function
+	  in a new thread and be notified when that thread exits
+
+2005-04-01  Steve Murphy  <murf e-tools com>
+
+        * configure.in: Added "rw" to ALL_LINGUAS.
+
+2005-03-25  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-data-model.[ch]: grouped the gda_data_model_to_comma_separated() and 
+	  gda_data_model_to_tab_separated() into a single gda_data_model_to_text_separated() method
+	* libgda/gda-data-model.[ch]: Added an optionnal argument to the export functions to provide
+	  which columns are to be exported
+
+2005-03-24  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-recordset.c
+	(gda_postgres_recordset_remove_row):
+	Renamed some forgotten gda_field_attributes_...
+	functions to gda_column_... Further use " for
+	column names in 'WHERE' part of query.
+
+	* providers/mysql/gda-mysql-recordset.c
+	(gda_mysql_recordset_remove_row):
+	Renamed some forgotten gda_field_attributes_...
+	functions to gda_column_...
+
+2005-03-23  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-recordset.c
+	(gda_postgres_recordset_update_row):
+	use " for column names in 'WHERE' part of query.
+
+2005-03-21  Alan Knowles <alan akbkhome com>
+
+	* providers/mysql/gda-mysql-recordset.c prevent segfault when
+	running insert or update queries.
+
+2005-03-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.3.1.
+
+2005-03-19  Alan Knowles <alan akbkhome com>
+
+	* libgda/gda-connection.c
+	* libgda/gda-connection.h
+	* libgda/gda-server-provider.c
+	* libgda/gda-server-provider.h
+	* providers/mysql/gda-mysql-provider.c
+	* providers/mysql/gda-mysql-recordset.c
+	* providers/mysql/utils.c
+	* providers/postgres/gda-postgres-provider.c
+	Replace gda_connection_escape_string with more generic 
+	gda_connection_value_to_sql_string, correctly adds slashes and 
+	quotes which can help to prevent SQL injection.
+	Notes:
+	- this has a knock on effect that calls like 
+	  gda_data_model_update_row will add slashes to 's, so if you
+	  where already doing this, you may end up with double slashes.
+	- It only works with postgres and mysql at present. 
+
+2005-03-18  Bas Driessen <bas driessen xobas com>
+
+	* doc/C/Makefile.am: Fix noise autogen.sh by
+	changing the deprecated INCLUDES to AM_CPPFLAGS.
+
+	* gtk-doc.make: Update with latest from 
+	/usr/share/gtk-doc/data/gtk-doc.make.
+
+2005-03-05  Bas Driessen <bas driessen xobas com>
+
+	* libgda/gda-data-model-base.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-select.c:
+	* libgda/gda-table.[ch]:
+	* libgda/gda-xml-database.c: Cleanup. Be consistent and 
+	avoid confusion by using the name "columns" for GdaColumn
+	objects rather than a mix of the old names "fa" and "dmca". 
+
+2005-03-03  Ãlvaro PeÃa  <alvaropg telefonica net>
+
+	* *: Renamed GdaDataModelColumnIndexAttributes to
+	GdaColumnAttributes
+
+2005-03-03  Ãlvaro PeÃa  <alvaropg telefonica net>
+
+	* *: Changed GdaDataModelColumnAttributes name to
+	GdaColumn
+
+2005-02-28  Loic Minier <lool+gnome via ecp fr>
+
+	Fixes #168641
+
+	* configure.in: don't use builtin copy of gtk-doc macro, use
+	GTK_DOC_CHECK instead.
+
+2005-02-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #129153
+
+	* report/libgda-report/gda-report-result.h: removed non-existing
+	function from header file.
+
+2005-02-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: changed translation domain.
+
+	* libgda.pc.in: use libgda-3.
+
+2005-02-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/*/Makefile.am: install providers to versioned directories.
+
+	* libgda/Makefile.am: changed LIBGDA_PLUGINDIR to point to versioned
+	directory. Changed to libgda-3.
+
+	* report/libgda-report/Makefile.am: changed to libgda-report-3.
+
+	* doc/C/Makefile.am:
+	* report/testing/Makefile.am:
+	* tools/Makefile.am:
+	* testing/Makefile.am: use libgda*-3 libraries.
+
+2005-02-28  Caolan McNamara <caolanm redhat com>
+
+	Fixes #166288
+
+	* configure.in: better detection for libdb.
+
+2005-02-28  Caolan McNamara <caolanm redhat com>
+
+	Fixes #166286
+
+	* providers/*/Makefile.am: use $libdir instead of $prefix/lib.
+
+2005-02-28  Jorge Bernal "Koke" <koke amedias org>
+
+	Fixes 162856
+
+	* providers/freetds/libmain.c (plugin_get_connection_params): fixed
+	typo.
+
+2005-02-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #160666
+
+	* libgda-C.omf.in: removed double // in file URI.
+
+2005-02-18  Denis Fortin <denis fortin free fr>
+
+	* configure.in: check for sqlite3.
+
+	* providers/sqlite/*: adapted to sqlite3.
+
+2005-02-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libsql/Makefile.am: use LDFLAGS only.
+
+2005-02-17  Ãlvaro PeÃa  <alvaropg telefonica net>
+
+	* libgda/gda-xml-database.[ch]: added gda_xml_database_remove_table()
+
+2005-02-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #167573
+
+	* libgda/gda-column-attributes.h: fixed typo.
+
+2005-02-11  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-row.[ch]: added gda_row_set_is_default() and
+	gda_row_get_is_default()
+
+2005-02-10  Ãlvaro PeÃa  <alvaropg telefonica net>
+
+	* libgda/gda-table.c: Added the code to emit a new signal:
+	NAME_CHANGED.
+	(gda_table_get_columns): New function. Return the columns order by
+	his position.
+	(gda_table_find_column): New function. Return a
+	GdaDataModelColumnAttribute from a name.
+	* libgda/gda-table.h: Added the 2 new functions and the
+	NAME_CHANGED signal.
+	* libgda/gda-xml-database.c: Connect to NAME_CHANGED table
+	signal. When a table named change, the database hash update
+	to the new key (the new table name).
+
+2005-02-07  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.3.0
+
+2005-02-07  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_begin_transaction):
+	remove debug g_message lines.
+
+2005-02-06  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_create_table):
+	bugfix; call function gda_mysql_provider_create_index()
+	rather than the postgres one.
+
+2005-02-05  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: make gda_value_stringify() return "NULL" if
+	its argument is NULL, and fixed a bug in  gda_value_compare() with
+	strings comparison.
+
+	* libgda/gda-data-model-column-attributes.h: added a 'dbms_type'
+	field to the GdaDataModelColumnAttributes structure, where a string
+	representation of the real DBMS data type for the column should be
+	set. Work  needs to be done wherever GdaDataModelColumnAttributes
+	structures are created and filled.
+
+2005-02-05  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/gda-mysql-provider.c: added function
+	gda_mysql_provider_create_index() and added DROP INDEX/
+	PRIMARY KEY method to gda_mysql_provider_drop_index().
+
+	(gda_mysql_provider_create_table):
+	added parameter 'index_list' and code to create the
+	indexes.
+
+	(get_mysql_tables):
+	suppress some compiler noise by proper casting of
+	pointers.
+
+	* providers/postgres/gda-postgres-provider.c:
+	(gda_postgres_provider_create_table):
+	added parameter 'index_list' and code to create the
+	indexes.
+
+	* libgda/gda-connection.[ch]
+	(gda_connection_create_table):
+	added parameter 'index_list' to hold a list of indexes to
+	create.	
+
+	(gda_connection_drop_index):
+	added parameter 'primary_key', since not all data providers
+	allow a name to be given to an index/key.
+
+	* libgda/gda-server-provider.[ch]
+	(gda_server_provider_create_table):
+	added parameter index_list to hold a list of indexes to
+	create.	
+
+	(gda_server_provider_drop_index):
+	added parameter 'primary_key', since not all data providers
+	allow a name to be given to an index/key.
+
+	* doc/C/: updated documentation.
+
+2005-02-04  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-provider.c: added function
+	gda_postgres_provider_create_index() and added DROP CONSTRAINT
+	method to gda_postgres_provider_drop_index().
+
+	* libgda/gda-server-provider.c
+	(gda_server_provider_create_index): 
+	bugfix; parameter 3 and 4 were mixed up.
+
+2005-02-03  Ãlvaro PeÃa <alvaropg telefonica net>
+
+	* libgda/gda-data-model.c: Removed the signals emits
+	that must to emit the implementations, not this 
+	"interface".
+	* libgda/data-model-array.c:  When a row is removed,
+	the following rows must to be renumber.
+
+2005-02-03  Bas Driessen <bas driessen xobas com>
+
+	* libgda/gda-connection.[ch]: new prototypes and functions
+	gda_connection_create_index() and gda_connection_drop_index().
+
+	* libgda/gda-server-provider.[ch]: new prototypes and functions
+	gda_connection_create_index() and gda_connection_drop_index().
+
+	* providers/postgres/gda-postgres-provider.c: added prototype and function
+	gda_postgres_provider_drop_index() and prototype and skeleton function 
+	gda_postgres_provider_create_index().
+
+	* providers/mysql/gda-mysql-provider.c: added prototype and function
+	gda_mysql_provider_drop_index() and prototype and skeleton function 
+	gda_mysql_provider_create_index().
+
+	* doc/C: added create/drop index to documentation.
+
+	* libgda/gda-column-index: minor bugfixes.
+
+	* libgda/gda-data-model-index: minor bugfixes.
+
+2005-02-02  Bas Driessen <bas driessen xobas com>
+
+	* libgda/: introduced GdaDataModelIndex to hold index
+	data for a data model.
+
+	* doc/C: added GdaDataModelIndex to documentation.
+
+2005-02-01  Bas Driessen <bas driessen xobas com>
+
+	* libgda/: introduced GdaColumnIndex to hold
+	index properties on column level.
+
+	* doc/C: added GdaColumnIndex to 
+	documentation.
+
+2005-01-31  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/gda-mysql-provider.c: added functions
+	gda_mysql_provider_create_table(), gda_mysql_provider_drop_table().
+
+	* providers/mysql/utils.[ch]: new function
+	gda_mysql_type_from_gda()
+
+	* providers/postgres/gda-postgres-provider.c
+	(postgres_name_from_gda_type): typing error; "date" instead of
+	"data".
+
+2005-01-29  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-provider.c: added prototypes and functions
+	gda_postgres_provider_create_table(), gda_postgres_provider_drop_table()
+	and postgres_name_from_gda_type().
+
+	* providers/mysql/gda-mysql-provider.c: added prototypes
+	for gda_mysql_provider_create_table() and gda_mysql_provider_drop_table().
+
+	* libgda/gda-connection.[ch]
+	(gda_connection_create_table): changed last parameter
+	to type GList.
+	
+	* libgda/gda-server-provider.[ch]
+	(gda_server_provider_create_table): changed last parameter
+	to type GList.
+
+	* doc/C/libgda-sections.txt: renamed function
+	gda_data_model_end_update to gda_data_model_commit_update.
+
+	* doc/C/tmpl/gda-data-model.sgml: inserted section for new
+	function gda_data_model_commit_update.
+
+	* doc/C/tmpl/gda-connection.sgml: renamed parameter 
+	attributes to attributes_list for gda_connection_create_table
+	entry.
+
+	* doc/C/tmpl/gda-server-provider.sgml: renamed parameter
+	attributes to attributes_list for gda_server_provider_create_table
+	entry.
+
+2005-01-25  Bas Driessen <bas driessen xobas com>
+
+	* libgda/gda-data-model-array.c: introduced new 
+	gda_data_model_append_row() method and added
+	gda_data_model_changed() signal to all functions
+	that change the contents of the data-model.
+
+	* libgda/gda-data-model-base.c
+	(gda_data_model_base_append_row): Use provider
+	dependent implementation.
+
+	* libgda/gda-data-model-hash.c: introduced
+	new gda_data_model_hash_append_row() method.
+		
+	* providers/mysql/gda-mysql-provider.[ch]: change 
+	recordset implementation to GDA_TYPE_DATA_MODEL_ARRAY.
+
+	* providers/mysql/gda-mysql-recordset.[ch]: introduced
+	new methods gda_mysql_recordset_append_row(), 
+	gda_mysql_recordset_remove_row, gda_mysql_recordset_update_row
+
+	* providers/postgres/gda-postgres-recordset.c: changed
+	gda_postgres_recordset_append_values() to 
+	gda_postgres_recordset_append_row() method.
+	(gda_postgres_recordset_update_row):
+	Fixed updating of an appended row.
+
+2005-01-24  Bas Driessen <bas driessen xobas com>
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_open_connection): Fix to
+	allow parameters "USER" and "PASSWORD" be used
+	as arguments in the MySQL DSN string.
+
+2005-01-23  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/gda-data-model.[ch]: renamed gda_data_model_append_row()
+	to gda_data_model_append_values(), (which is marked as deprecated),
+	and crated a new gda_data_model_append_row() function with a
+	signature similar to the other gda_data_model_*_row() functions.
+	
+	* all other modifications: related to the above modifications
+
+2005-01-20  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-recordset.c
+	(guess_table_name): improve table name guessing by
+	also checking on correct number of columns.
+
+2005-01-19  Bas Driessen <bas driessen xobas com>
+
+	* libgda/gda-data-model-hash.c:
+	introduce row mapping array (row_map) to keep track
+	of active rows in a data-model that are represented
+	by a hash table. Array added to struct 
+	_GdaDataModelHashPrivate.
+	(gda_data_model_hash_remove_row): implemented
+	remove method function.
+	(gda_data_model_hash_append_row):
+	add new mapping entry to array when new row is 
+	appended to data-model.
+	(gda_data_model_hash_get_row):
+	get row according to mapping.
+	(gda_data_model_hash_get_n_rows):
+	return active number of rows in data-model or -1
+	if not initialized.
+	(gda_data_model_hash_clear):
+	initialize array upon (re)creation of hash table.
+	(gda_data_model_hash_init):
+	initialize array pointer and hash row count.
+	(gda_data_model_hash_finalize):
+	free array when no longer needed.
+
+	* providers/postgres/gda-postgres-recordset.c
+	(gda_postgres_recordset_remove_row):
+	implemented new method for data-model.
+	(gda_postgres_recordset_get_n_rows):
+	return active number of data-model rows.
+	(gda_postgres_recordset_get_row):
+	correct call to parent class function.	
+	
+2005-01-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: include version number in AC_PROG_INTLTOOL.
+
+	* libsql/Makefile.am: use GDA* for soname version. Added LIBADD
+	to fix test program compiling problem.
+	
+2005-01-11  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-recordset.c
+	(gda_postgres_recordset_update_row):
+	use " for field names in 'SET' part of query.
+	remove unnecessary call to non-existent function
+	gda_data_model_hash_update_row.
+	emit appropriate 'updated' and 'changed' signals.
+
+2005-01-09  Vivien Malerba <malerba gnome-db org>
+	
+	* libgda/: Implemented GdaDataModel as an interface, and added a
+	GdaDataModelBase class to serve as a base class in relpacement
+	of the previous GdaDataModel
+
+	* libgda/gda-value.[ch]: added gda_value_compare_ext() which like
+	gda_value_compare(), compares two values of the same type, except
+	that NULL values and values of type GDA_VALUE_TYPE_NULL are considered
+	equals, and that a NULL value can be compared to a non NULL value.
+
+	* libgda/: replaced GdaField with GdaDataModelColumnAttributes which
+	is easier to understand and avoids mis-understandings
+
+	* doc/C: improved documentation
+
+2005-01-07  Bas Driessen <bas driessen xobas com>
+
+	* libgda/gda-data-model-hash.c (gda_data_model_hash_append_row):
+	set row number of appended row.
+
+2004-12-29  Aaron Gaudio <prothonotar tarnation dyndns org>
+
+	* libgda.spec.in: fixed includedir.
+
+2004-12-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.2.0.
+
+2004-12-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* autogen.sh: changed to require automake >= 1.9.
+
+	* configure.in: incremented library versions.
+
+	* libsql/Makefile.am: reference correctly the libgdasql lib.
+
+	* providers/freetds/gda-freetds-provider.c (gda_freetds_execute_cmd):
+	* providers/freetds/gda-freetds-recordset.c
+	(gda_freetds_recordset_new): use correct number of arguments for
+	tds_process_result_tokens.
+
+	* providers/mdb/gda-mdb-provider.c (gda_mdb_provider_open_connection):
+	pass flags to mdb_open.
+
+2004-12-14  Dru <andru treshna com>
+
+	* libgda/sql_parser.c: Fixed bug in IS NOT clauses in
+	SQL with NOT getting dropped.
+
+2004-10-28  Bas Driessen <bas driessen xobas com>
+
+	* providers/postgres/gda-postgres-recordset.c
+	(gda_postgres_recordset_append_row): use " for field names.
+
+2004-10-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* *Makefile.am: s/INCLUDES/AM_CPPFLAGS.
+
+2004-10-27  Alan <alan akbkhome com>
+
+        * Makefile.w32
+	* libgda/Makefile.w32
+	* libsql/Makefile.w32
+	* Makefile.w32.cross: Upload Windows makefiles, including
+	support for cross compiling, and potentially native with mingw
+	along with dependancy download support, see top level Makefile.w32
+	for full details on usage.
+
+2004-10-27 Dru <andru treshna com>
+	
+	* libsql/sql_parser.c: Fixing sql_statement_get_tables() to
+	work correctly.
+
+2004-10-26 Dru <andru treshna com>
+	
+	* libsql/sql_parser.c:
+	* libsql/sql_parser.h: Fixing some of the issues with JOIN clauses
+	in SELECT statements failing to parse or be re-created with libsql.
+	Other general code tidyups.
+
+2004-10-18  Tomasz KÂÂÂoczko <kloczek pld org pl>
+
+	* configure.in: better looking PKG_CHECK_MODULES() output. Declare
+	in one common place required versions of other tools using
+	m4_define(). Fixed identation.
+
+2004-10-15  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.c (fill_gda_value): fixed
+	support for DATE, TIME, TIMESTAMP and DATETIME types.
+
+2004-10-14  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-data-model-hash.c (gda_data_model_hash_get_n_rows): added
+	missing class method implementation.
+	(gda_data_model_hash_class_init): ditto.
+
+2004-10-13  Alan Knowles <alan akbkhome com>
+
+	* libgda/gda-config.c:
+	* testing/client.c: Win32 build fixes.
+
+2004-10-13  David Hollis <dhollis davehollis com>
+
+	* libgda.spec.in: fixed for correct building on RH.
+
+2004-10-10  Tomasz KÂÃÂoczko <kloczek pld org pl>
+
+	* configure.in, providers/xbase/gda-xbase-database.cpp: fixes for
+	  correct detect xbase library and build backend module (fixed
+	  xbase.h header path).
+
+	* configure.in: added fixes for latest autoheaders (added autoheaders prototypes).
+
+	* po/POTFILES.in: remove providers/sybase/main.c from file (never
+	  used in dist resources).OA
+
+2004-10-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.99.
+
+2004-10-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libsql/Makefile.am: use $(top_builddir) for libgdasql.
+
+2004-10-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.pc.in:
+	* libsql/Makefile.am:
+	* libgda/Makefile.am:
+	* report/libgda-report/Makefile.am: install headers in versioned
+	directories.
+
+2004-10-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.[ch]: added GdaProviderParameterInfo structure.
+	Changed list of params in GdaProviderInfo to be a list of
+	GdaProviderParameterInfo structures.
+	(gda_provider_parameter_info_get_type, gda_provider_parameter_info_copy,
+	gda_provider_parameter_info_free): new functions.
+	(gda_provider_info_copy, gda_provider_info_free): manage correctly the
+	new list of arguments.
+
+	* providers/bdb/libmain.c (plugin_get_connection_params):
+	* providers/firebird/libmain.c (plugin_get_connection_params):
+	* providers/freetds/libmain.c (plugin_get_connection_params):
+	* providers/ibmdb2/libmain.c (plugin_get_connection_params):
+	* providers/ldap/libmain.c (plugin_get_connection_params):
+	* providers/mdb/libmain.c (plugin_get_connection_params):
+	* providers/msql/gda-msqlp-libmain.c (plugin_get_connection_params):
+	* providers/mysql/libmain.c (plugin_get_connection_params):
+	* providers/odbc/libmain.c (plugin_get_connection_params):
+	* providers/oracle/libmain.c (plugin_get_connection_params):
+	* providers/postgres/libmain.c (plugin_get_connection_params):
+	* providers/sqlite/libmain.c (plugin_get_connection_params):
+	* providers/sybase/libmain.c (plugin_get_connection_params):
+	* providers/xbase/libmain.c (plugin_get_connection_params):
+	* providers/xml/libmain.c (plugin_get_connection_params):
+	updated to return a list of GdaProviderParameterInfo instead of simple
+	strings only.
+
+	* tools/gda-config-tool.c (add_param_name_to_string):
+	* testing/config.c (list_all_providers): adapted to above changes.
+
+2004-10-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #152495
+
+	* doc/C/libgda-docs.sgml: fixed memory leak in sample code.
+
+2004-10-09  Julio M. Merino Vidal <jmmv menta net>
+
+	Fixes #152217
+
+	* Makefile.am: added --enable-gtk-doc to DISTCHECK_CONFIGURE_FLAGS.
+
+	* autogen.sh:
+	* configure.in: fixed to work with autoconf >= 2.59 and automake >= 1.8.
+
+	* libgda/gda-server-provider.c (gda_server_provider_get_version):
+	* libgda/gda-xml-database.c (gda_xml_database_to_string):
+	* providers/bdb/gda-bdb-provider.c (gda_bdb_provider_get_version):
+	* providers/firebird/gda-firebird-provider.c
+	(gda_firebird_provider_get_version):
+	* providers/freetds/gda-freetds-provider.c
+	(gda_freetds_provider_get_version):
+	* providers/ibmdb2/gda-ibmdb2-provider.c (gda_ibmdb2_provider_get_version):
+	* providers/ldap/gda-ldap-provider.c (gda_ldap_provider_get_version):
+	* providers/mdb/gda-mdb-provider.c (gda_mdb_provider_get_version):
+	* providers/msql/gda-msql-provider.c (gda_msql_provider_get_version):
+	* providers/mysql/gda-mysql-provider.c (gda_mysql_provider_get_version):
+	* providers/odbc/gda-odbc-provider.c (gda_odbc_provider_get_version):
+	* providers/oracle/gda-oracle-provider.c (gda_oracle_provider_get_version):
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_get_version):
+	* providers/sqlite/gda-sqlite-provider.c (gda_sqlite_provider_get_version):
+	* providers/sybase/gda-sybase-provider.c (gda_sybase_provider_get_version):
+	* providers/sybase/main.c (main):
+	* providers/xbase/gda-xbase-provider.c (gda_xbase_provider_get_version):
+	* providers/xml/gda-xml-provider.c (gda_xml_provider_get_version):
+	* testing/gda-test.c (main): use PACKAGE_VERSION rather than VERSION.
+
+2004-10-09  Alan Knowles <alan akbkhome com>
+
+	* libgda/gda-log.c: made it compile under Win32.
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_escape_string): s/MYSQL/PostgreSQL.
+
+2004-09-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #152487
+
+	* libgda/gda-server-provider.[ch]: added 'reset_connection' method.
+	(gda_server_provider_reset_connection): new function.
+	(gda_server_provider_class_init): initialize new method.
+
+	* libgda/gda-connection.[ch] (gda_connection_reset): new function.
+
+2004-09-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/Makefile.am: install gda-log.h with the other headers.
+
+2004-09-25  Szalai Ferenc <szferi einstein ki iif hu>
+
+	* libgda/gda-connection.c (gda_connection_new): use const where needed.
+	(gda_connection_escape_string): return correct values.
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_update_row):
+	use const where needed.
+	(gda_data_model_array_append_column, gda_data_model_array_update_column,
+	gda_data_model_array_remove_column): added missing return statement.
+
+	* libgda/gda-data-model.c (export_to_separated,
+	gda_data_model_to_xml_node): fixed warnings.
+
+	* libgda/gda-error.c (gda_error_list_copy): fixed warnings.
+
+	* libgda/gda-parameter.[ch] (gda_parameter_new_from_value): added
+	'const' to the @value argument.
+	(gda_parameter_list_free): fixed warning.
+
+	* libgda/gda-select.c (gda_select_add_source): fixed warning.
+	(populate_from_single_table): fixed warning.
+
+	* libgda/gda-value.c (clear_value): added case for TYPE types.
+	(gda_value_set_list): fixed warning.
+
+	* libgda/gda-xml-database.c (gda_xml_database_new_table_from_node):
+	set the field attributes' caption as a string, not as an integer.
+
+	* libgda/libgda.h: included gda-log.h.
+
+	* providers/ldap/gda-ldap-provider.c (get_ldap_tables): fixed warning.
+
+	* providers/ldap/libmain.c: added missing function prototypes.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_get_last_insert_id, add_aggreagate_row): fixed
+	warning.
+
+	* providers/postgres/gda-postgres-recordset.c
+	(gda_postgres_recordset_append_row): implemented new data model's
+	method.
+	(gda_postgres_recordset_class_init): set new method.
+	(gda_postgres_recordset_update_row): update the underlying array data
+	model when the update in the database goes well.
+	(gda_postgres_recordset_get_n_rows): check the number of items in the
+	underlying array data model, and return the MAX.
+
+	* providers/postgres/gda-postgres.h: added missing prototype.
+
+	* providers/postgres/utils.c (gda_postgres_type_oid_to_gda): fixed
+	warning.
+	(gda_postgres_value_to_sql_string): new function.
+
+	* report/libgda-report/gda-report-document.c: added missing #include.
+
+2004-09-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: removed obsolete GNOME_COMPILE_WARNINGS macro.
+
+	* libgda/gda-connection.[ch] (gda_connection_escape_string):
+	* libgda/gda-server-provider.[ch] (gda_server_provider_escape_string):
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_escape_string):
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_escape_string): improved the escape_string method,
+	by setting correctly the const'ness of the arguments and removing the
+	'length' argument, since strings should be now NULL terminated.
+	
+2004-09-25  Caolan McNamara <caolanm redhat com>
+
+	Fixes #150231
+
+	* configure.in: improved ODBC, MySQL and PostgreSQL detection.
+
+2004-09-25 Dru <andru treshna com>
+
+	* libsql/parser.y: Fixed not null issue in where statements
+	* libsql/sample_sql_statements: Added examples that broke stuff.
+	* libsql/sql_parser.c: Fixed bug 152874, sql statements
+	  with complex where statements were often failing to 
+	  generate properly.
+	* providers/postgres/gda-postgres-recordset.c: Added minor
+	  comments.
+
+2004-09-14 Dru <andru treshna com>
+	
+	* libgda/gda-value.c: Improved documentation.
+	* libsql/sql_parser.c: Added support function for helping
+	  decode the where statements. Removed some obsolete code.
+
+2004-09-09 Dru <andru treshna com>
+
+        * sql_parser.c: When getting a list of where statements it will
+          return the join's as well now.
+
+2004-09-09 Dru <andru treshna com>
+
+        * .cvsignore, Makefile.am, sql_parse_test.c, sql_parser.c,
+          sql_parser.h, sql_parser_test.c: Added function to get a list of
+          where clauses in a sql statement.  Readded test code to check to
+          see if the function works ok.
+
+2004-09-02  Jeronimo Albi <jeronimoalbi yahoo com ar>
+	
+	* providers/firebird/gda-firebird-blob.c: New File.
+	* providers/firebird/gda-firebird-blob.h: New File.
+	* providers/firebird/gda-firebird-recordset.c: Added read support
+	  for blob data type.
+
+2004-09-01  Alan Knowles <alan akbkhome com>
+
+	* providers/mysql/gda-mysql-provider.c (get_mysql_types): updated
+	list of types to match the real MySQL types.
+
+2004-08-31  Jeronimo Albi <jeronimoalbi yahoo com ar>
+
+	* providers/firebird/gda-firebird-provider.c:
+	  (gda_firebird_provider_execute_command): Added support for
+	  "transparent transactions".
+
+2004-08-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #151054
+
+	* providers/firebird/gda-firebird-recordset.c (fb_gda_value_fill):
+	removed extra spaces before punctuation marks.
+
+2004-08-21  Jeronimo Albi <jeronimoalbi yahoo com ar>
+
+	* samples/sample-firebird.c: Added example code for Firebird provider.
+	* providers/firebird/gda-firebird-recordset.c: Corrected a problem with
+	Firebird date and datetime year part, fixes bug #15063.
+
+2004-08-21  Kjartan Maraas  <kmaraas gnome org>
+
+	* configure.in: Add ÂÂnbÂÂ to ALL_LINGUAS.
+
+2004-08-20  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/parser.y: bug fixed to allow the alias specification for any
+	  target in queries
+	* libsql/sql_tree.c: bug fixed with uninitialized allocated memory
+	* providers/postgres/gda-postgres-provider.c: fixed a bug with the
+	'anyelement' data type which we don't want, and fixed another bug
+	where aggregates and functions accepting any data type for one
+	argument were not returned in the schemas requests.
+
+2004-08-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_find_connection): use the correct
+	dsn/username/password when searching the connection.
+
+2004-08-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_find_connection): fixed to not
+	crash on strcmp().
+
+2004-08-18  Jeronimo Albi <jeronimoalbi yahoo com ar>
+
+	* providers/firebird/gda-firebird-provider.c:
+	(gda_firebird_provider_drop_database): Corrected to drop requested
+	database.
+	(gda_firebird_provider_get_schema, gda_firebird_provider_supports):
+	Added support for GDA_CONNECTION_SCHEMA_AGGREGATES.
+
+2004-08-18  JosÂÃ MarÂÃa Casanova Crespo <jmcasanova igalia com>
+
+	* libgda/gda-connection.[ch] (gda_connection_clear_error_list):
+	new function.
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_begin_transaction): improved support of
+	transaction modes.
+
+2004-08-17  Alan Knowles <alan akbkhome com>
+
+	* libgda/gda-connection.[ch] (gda_connection_escape_string):
+	new function.
+
+	* libgda/gda-server-provider.[ch]: added escape_string virtual method.
+	(gda_server_provider_escape_string): new function.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_escape_string): implemented new GdaServerProvider's
+	virtual method.
+	(gda_mysql_provider_class_init): set pointer to new method's
+	implementation.
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_escape_string, gda_postgres_provider_class_init):
+	likewise.
+
+2004-08-17  Caolan McNamara <caolanm redhat com>
+
+	Fixes #150232
+
+	* libgda/gda-util.c (gda_type_to_string):
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_execute_command, gda_mysql_provider_supports,
+	gda_mysql_provider_get_schema):
+	* providers/xml/gda-xml-provider.c (gda_xml_provider_get_schema):
+	more fixes for compilation with GCC 3.4.
+
+2004-08-16  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/parser.y: bug fixed to allow the alias specification for any
+	  target in queries
+	* libsql/sql_tree.c: bug fixed with uninitialized allocated memory
+
+2004-08-16  Joe Marcus Clarke <marcus freebsd org>
+
+	* providers/xml/gda-xml-provider.c (get_types): use empty strings
+	rather than NULL for the owner field.
+
+2004-08-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.6.
+
+2004-08-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: some more fixes.
+
+2004-08-06  Szalai Ferenc <szferi einstein ki iif hu>
+
+	* libgda/gda-row.c (gda_row_set_number): set the GdaRow's to $number,
+	not to 0.
+
+2004-08-01  Jeronimo Albi <jeronimoalbi yahoo com ar>
+
+	* providers/firebird/gda-firebird-provider.c:
+	(fb_get_fields_metadata, fb_type_name_to_gda_type,
+	 fb_set_fields_metadata, fb_set_index_field_metadata): New fuctions.
+	(gda_firebird_provider_get_schema): GDA_CONNECTION_SCHEMA_FIELDS is working.
+
+	* providers/firebird/gda-firebird-recordset.c:
+	(fb_sql_type_to_gda_type): New fuction.
+
+2004-08-01  Jeronimo Albi <jeronimoalbi yahoo com ar>
+
+	* providers/firebird/gda-firebird-provider.c:
+	(fb_server_get_version): New fuction.
+	(gda_firebird_provider_get_server_version): Now returns server version.
+
+2004-08-01  Jeronimo Albi <jeronimoalbi yahoo com ar>
+
+	* providers/firebird/gda-firebird-provider.c:
+	(fb_get_types, fb_sqlerror_get_description, fb_get_tables): New functions.
+	Change database connection routines for a more secure method of connection.
+	(gda_firebird_provider_create_database, gda_firebird_provider_execute_command,
+	 gda_firebird_provider_drop_database): Are working now.
+	(gda_firebird_provider_get_schema): Is working now for GDA_CONNECTION_SCHEMA_TYPES,
+	GDA_CONNECTION_SCHEMA_TABLES and GDA_CONNECTION_SCHEMA_VIEWS.
+	(gda_firebird_connection_make_error): Added description of error (Firebirds's SQL
+	error message) when adding error to GdaConnection.
+
+	* providers/firebird/gda-firebird-recordset.c:
+	(fb_sql_result_free, fb_sql_result_columns_malloc, fb_sql_result_set_columns_number,
+	 fb_sql_get_statement_type, fb_sql_prepare, fb_sql_unprepare, fb_sql_execute,
+	 fb_sql_affected_rows, fb_gda_value_fill, fb_sql_fetch_row): New fuctions.
+	Added recordset support.
+	Added Firebird's data types (except Blob and Array).
+
+	* providers/firebird/libmain.c:
+	Add CHARACTER_SET, SQL_DIALECT and PAGE_SIZE to list of connection params.
+	Changed name of provider to "Firebird", instead of "FireBird".
+
+2004-07-31  Dani Baeyens <daniel baeyens hispalinux es>
+	
+	* doc/C/Makefile.am, doc/C/libgda-docs.sgml,
+	libgda/gda-connection.c, libgda/gda-data-model.c,
+	libgda/gda-log.c, libgda/gda-server-provider.c,
+	libgda/gda-server-provider.c, libgda/gda-value.c,
+	report/libgda-report/gda-report-document.c, 
+	report/libgda-report/gda-report-item.c,
+	report/libgda-report/gda-report-result.c: Changed to have
+	documentation with .devhelp book (and no errors when making)
+	
+2004-07-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.5.
+
+2004-07-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* Makefile.am: EXTRA_DIST mkinstalldirs :(
+
+2004-07-11  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-recordset.c: bug fixed for annoying
+	  warning message
+
+2004-07-05  Murray Cumming  <murrayc murrayc com>
+
+	* providers/postgres/util.c: gda_postgres_type_oid_to_gda(): 
+	Do not read past the end of the type_data array. Found by valgrind.
+
+2004-06-25  Vivien Malerba <malerba gnome-db org>
+
+	* providers/odbc/gda-odbc-provider.c: fixed a recordset column fori
+	bug #144923
+
+2004-06-24  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/*: improved parsing of condition operators (added regex
+	operators such as "~", "~*", etc and "SIMILAR TO", and modified the
+	sql_condition structure to add a "negated" attributes for negated
+	conditions and the sql_condition_operator enum for the new recognized
+	operators.
+
+2004-06-10  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-value.[h|cc]: Add get_type(), copy(), and free() 
+	functions for GdaMoney and GdaNumeric so that they are real boxed 
+	types.
+
+2004-06-07  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.4.
+
+2004-06-06  Marcin Siennicki <m siennicki cloos pl>
+
+	Fixes #142580
+
+	* libgda.spec.in: added information for building FireBird provider.
+
+2004-06-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch] (gda_data_model_append_column,
+	gda_data_model_update_column, gda_data_model_remove_column): use
+	better function signatures.
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_append_column,
+	gda_data_model_array_update_column,
+	gda_data_model_array_remove_column): started implementation of
+	missing virtual methods.
+	(gda_data_model_array_class_init): init new virtual methods.
+
+2004-06-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/utils.c (gda_mysql_type_to_gda): added an
+	'is_unsigned' argument and return signed/unsigned types
+	approppriately.
+
+	* providers/mysql/gda-mysql-recordset.c (fill_gda_value): made
+	it static, to fix some warnings. Added 'is_unsigned' argument
+	and set signed/unsigned values approppriately.
+	(gda_mysql_recordset_describe_column): update for
+	gda_mysql_type_to_gda() changes.
+	(fetch_row): update for fill_gda_value() changes.
+
+	* providers/mysql/gda-mysql.h: updated function prototype.
+
+2004-06-05  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/parser.y & libsql/lexer.l: added a special keyword '##',
+	which can be used for parameters when no value is provided, such
+	as "SELECT name FROM users WHERE id=##".
+
+2004-06-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: removed obsolete GNOME_PLATFORM_GNOME_2 macro.
+
+2004-06-02  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-field.c: gda_field_attributes_copy(): Really copy the
+	default_value.
+
+2004-06-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.3
+
+2004-06-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: fixed checks for gtk-doc.
+
+	* doc/C/libgda-docs.sgml: fixes for xsltproc.
+
+2004-05-31  JÂÃrg Billeter <j bitron ch>
+
+	* libgda/gda-util.c:
+	* providers/mdb/gda-mdb-provider.c:
+	* providers/ldap/gda-ldap-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/oracle/utils.c:
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/xml/gda-xml-provider.c: fixes for compilation with gcc 3.4.
+
+2004-05-10  Murray Cumming  <murrayc murrayc@.com>
+
+	* libgda/gda-util.c (gda_type_to_string): Added case statements for 
+	types that were not already handled, such as the unsigned types. 
+	Changed the default to unknown rather than string.
+	* libgda/gda-util.c (gda_type_from_string): Added case statements for
+	remaining types.
+
+2004-05-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.[ch] (gda_connection_create_table,
+	gda_connection_drop_table): new functions.
+
+2004-05-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/xml/gda-xml-provider.c (get_types): added missing fields to
+	the returned schema, and added missing types, since the XML provider
+	supports all the types in libgda (except GOBJECT and BLOB).
+
+	* doc/C/libgda-docs.sgml: use newer DocBook DTD.
+
+2004-05-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-provider.[ch]: added 'create_table' and 'drop_table'
+	virtual methods.
+	(gda_server_provider_create_table, gda_server_provider_drop_table): new
+	functions.
+
+	* libgda/gda-connection.c (gda_connection_get_schema): added information
+	about what to do with the returned value.
+
+2004-05-01  Rodrigo Moya <rodrigo ximian com>
+
+	* libgda/gda-server-provider.[ch]: added 'get_last_insert_id' virtual
+	method.
+	(gda_server_provider_get_last_insert_id): new function.
+	(gda_server_provider_class_init): initialize new virtual method.
+
+	* libgda/gda-connection.[ch] (gda_connection_get_last_insert_id): new
+	function.
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_get_last_insert_id): implemented new method.
+
+	* providers/postgres/gda-postgres-recordset.[ch]
+	(gda_postgres_recordset_get_pgresult): new function.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_get_last_insert_id): implemented new method.
+
+2004-04-28  Murray Cumming  <murrayc murrayc com>
+ 
+ 	* libgda/gda-field.[h|c]: Added gda_field_attribute_equal().
+
+2004-04-23  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-field.c (gda_field_attribute_copy): Don't copy the
+	default_value if it is 0, to avoid runtime warnings.
+	* libgda/gda-client.c: (gda_client_notify_error_event, 
+	gda_client_notify_transction_started_event, 
+	gda_client_notify_transaction_committed_event, 
+	gda_client_notify_transaction_cancelled_event): Cast the objects to
+	GObject, to avoid compiler warnings.
+
+2004-04-28  ÂÃlvaro PeÂÃa  <apg esware com>
+
+	* libgda/gda-data-model.c: (export_to_separated),
+	(gda_data_model_to_xml_node): don't use gda_value_stringify
+	for boolean values
+
+2004-04-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.2
+
+2004-04-23  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-command.h, gda-config.h, gda-field.h, gda-parameter.h: 
+	Use the typedef struct _Something Something technique to allow
+	other code to declare prototypes, so that the C++ bindings do not
+	need to include the headers in their public headers.
+
+2004-04-23  Murray Cumming  <murrayc murrayc com>
+	* providers/postgres/gda-postgres-recordset.c (guess_table_name):
+	Copy the table_name before freeing the struct, not after, to fix
+	an occasional crash. Thanks valgrind.
+
+2004-04-23  Murray Cumming  <murrayc murrayc com>
+
+	* libgda/gda-client.c (gda_client_open_connection_from_string): 
+	Added documentation about the cnc_string format.
+
+2004-04-22  Robert Davis <rdavis unico com>
+
+	* providers/freetds/gda-freetds-provider.c
+	(gda_freetds_provider_open_connection): use tds_set_client_charset
+	instead of tds_set_charset.
+
+2004-04-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.c (gda_data_model_update_column): fixed c/p
+	typo.
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_update_row):
+	added implementation of missing virtual method.
+	(gda_data_model_array_class_init): added new virtual method.
+
+2004-04-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #139800
+
+	* providers/freetds/gda-freetds-provider.c (gda_freetds_execute_cmd):
+	* providers/freetds/gda-freetds-recordset.c (gda_freetds_recordset_new):
+	updated to latest FreeTDS 0.62 API.
+
+2004-04-16  Denis Loginov <dloginov crl nmsu edu>
+
+	* providers/postgres/gda-postgres-provider.c (gda_postgres_fill_md_data):
+	Fixed the "Not Null?" columns, so that it indeed returns the "Not null"
+	and not its inverse.
+
+2004-04-17  Adam Weinbegrer  <adamw gnome org>
+
+	* configure.in: Added en_CA to ALL_LINGUAS.
+
+2004-04-15  Benjamin Otte <in7y118 public uni-hamburg de>
+
+	Fixes #140113
+
+	* providers/sqlite/gda-sqlite-provider.c (sql_split): new function to
+	correctly split multiple SQL commands.
+	(process_sql_commands): use the new function instead of g_strsplit.
+
+2004-04-06  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/sql_parser.c: merged Andru's work (hope nothing has been 
+	forgotten)
+
+2004-04-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.spec.in: s/default/xml.
+
+2004-04-02  Gareth Owen  <gowen72 yahoo com>
+
+	* configure.in: Added en_GB to ALL_LINGUAS
+
+2004-04-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.1
+
+2004-04-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: fixed some content.
+
+2004-04-01  Leonardo Boshell <p kapcoweb com>
+
+	Fixes #138741
+
+	* doc/C/libgda-docs.sgml: fixed Docbook markup.
+
+2004-03-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.[ch] (gda_provider_info_free): renamed from
+	gda_config_free_provider_info to match the other GdaProviderInfo-related
+	functions.
+	(gda_provider_info_get_type, gda_config_free_provider_list): renaming.
+
+	* libgda/gda-client.c (gda_client_open_connection): more renaming.
+
+2004-03-16  Vivien Malerba <malerba gnome-db org>
+
+        * libsql/*: Improved the joins handling (changed the sql_table structure),
+		    and added join type (LEFT, RIGHT, FULL).
+
+2004-03-13  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/*: several improvements with a change in the sql_table structure.
+		- added != symbol as WHERE condition
+		- identifiers can now contain an underscore
+		- improved ORDER BY support
+		- improved JOIN support
+		- improved WHERE conditions
+	
+2004-03-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/libgda.h:
+	* libgda/Makefile.am: don't install gda-export.h nor gda-log.h, those
+	should be internal files only.
+
+2004-03-05  Vivien Malerba <malerba gnome-db org>
+
+        * libsql/*: * incorporated Andrew's latest changes
+		    * re-indented the whole code to the same style as libgda
+
+2004-03-05  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/*: * Improved lexer rules for functions and SELECT without a FROM clause
+		    * Added extra syntax to specify parameters: between [] after a field, can contain
+		      :name, :descr, :type, :isparam, :nullok attributes.
+		    * Added strings recognized between double quotes (example: "a good' string").
+
+2004-03-04  Laurent Sansonetti <lrz gnome org>
+
+	Fixes #132216
+
+	* libgda/gda-client.c (gda_client_open_connection_from_string): Reuses
+	existing connections by looking in the opened connections pool.
+
+	* libgda/gda-client.c (gda_client_open_connection): Fixed a memory leak.
+
+	Fixes #129560
+
+	* libgda/gda-config.c (gda_config_set_string, gda_config_set_int,
+	gda_config_set_float, gda_config_set_boolean): Changes the type of the key
+	if already existing.
+
+2004-03-03  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #131592
+
+	* providers/odbc/gda-odbc-provider.c (process_sql_commands):
+	UTF-8 conversions for SQLExecDirect() and SQLGetData().
+
+2004-02-28  Vivien Malerba <malerba gnome-db org>
+
+	* libsql/lexer.l: bug fixed
+	* libsql/Makefile.am: make sure sql_parser.h is installed in
+	libgda/sql directory
+
+2004-02-18  Sergey N. Belinsky <sergey_be mail ru>
+
+	* gda-ibmdb2-recordset.c: Fixed size of data. Clean up data after use.
+	* gda-ibmdb2-types.[ch]: Fixed NUMERIC datatype. Message for
+	unsupported datatypes.
+	* libmain.c: Removed unused options.
+
+2004-02-15  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: bugs fixes in gda_value_compare()
+
+2004-02-09  Tomasz KÂÂoczko <kloczek pld org pl>
+
+	* configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
+	  AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
+	  substed by default.
+
+2004-02-07  Robert Sedak  <robert sedak sk htnet hr>
+
+        * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
+
+2004-01-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #132213
+
+	* libgda/gda-client.c (gda_client_open_connection): make sure we
+	don't share connections opened with the DONT_SHARE flag.
+
+2004-01-22  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #132152
+
+	* libgda/gda-client.c (gda_client_find_connection): compare get_dsn()
+	to name, rather than cnc_string.
+
+2004-01-24  Paisa  Seeluangsawat <paisa users sf net>
+
+	* libgda/gda-row.[ch]:
+	* libgda/gda-value.[ch]: removed useless const in arguments.
+
+2004-01-15  Nikolai Weibull <ruby-gnome2-devel-en-list pcppopper org>
+
+	* providers/sqlite/gda-sqlite-provider.c
+	(gda_sqlite_provider_open_connection): set the object's private data
+	before executing any command.
+
+2004-01-12  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #131252
+
+	* providers/odbc/utils.c (gda_odbc_emit_error): style fixes.
+
+2004-01-12  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #131251
+
+	* providers/odbc/gda-odbc-provider.c
+	(gda_odbc_provider_open_connection): set ODBC connection to read-only
+	if GdaConnection is set so.
+
+2004-01-10  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #131046
+
+	* providers/odbc/gda-odbc-provider.c
+	(gda_odbc_provider_open_connection): retrieve the DBMS version, not
+	the driver version.
+
+2004-01-10  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #130838
+
+	* providers/odbc/gda-odbc-provider.c (process_sql_commands): changed
+	to get the SQL command as a string.
+	(gda_odbc_provider_execute_command): added support for TABLE commands.
+	
+2004-01-10  J.H.M. Dassen (Ray) <jdassen debian org>
+
+	http://bugs.debian.org/226560
+
+	* providers/sqlite/gda-sqlite-provider.c: #include <gda-util.h> to
+	have gda_type_to_string declared. This fixes pointer/integer issues on
+	64-bit architectures, in particular IA64.
+
+2004-01-09  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #130945
+
+	* providers/odbc/gda-odbc-provider.c (process_sql_commands): use
+	correct counter.
+
+2004-01-09  Jon Willeke <willeke users sourceforge net>
+
+	Fixes #130938
+
+	* providers/odbc/gda-odbc-provider.c: added support for NAMESPACES.
+
+2004-01-02  Laurent Sansonetti <lrz gnome org>
+
+	* libgda/gda-util.c (gda_file_save): added O_TRUNC flag.
+
+2003-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-command.c (gda_command_copy): dont use C99.
+
+2003-12-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_get_data_source_list): fixed
+	documentation typo.
+
+2003-12-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-error.[ch] (gda_error_get_number): removed 'const' from
+	function's return type.
+
+2003-12-17  Laurent Sansonetti <lrz gnome org>
+
+	* providers/bdb/gda-bdb.h:
+	Introduced BDB_VERSION macro.
+
+	* providers/bdb/gda-bdb-provider.c:
+	* providers/bdb/gda-bdb-recordset.c:
+	- Fixed a compilation bug when using BDB < 4.1.24 ;
+	- get_server_version handler uses DB_VERSION_STRING.
+
+2003-12-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: disable MySQL provider until we resolve the licensing
+	issues.
+
+2003-12-14  Laurent Sansonetti <lrz gnome org>
+
+	* libgda/gda-connection.c, libgda/gda-data-model.c
+	* libgda/gda-export.c, libgda/gda-value.c:
+	Fixed some typos in the doc.
+
+2003-12-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #128933
+
+	* libgda/gda-log.[ch] (gda_log_clean_*): removed unimplemented
+	functions.
+
+2003-12-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #128929
+
+	* libgda/gda-client.h: added missing space in function prototype
+	that confuses pygtk's h2def.py.
+
+2003-12-03  Laurent Sansonetti <lrz gnome org>
+
+	* libgda/gda-data-model.[ch]:
+	- Renamed some methods:
+	    gda_data_model_is_editable -> gda_data_model_is_updatable ;
+	    gda_data_model_begin_edit -> gda_data_model_begin_update ;
+	    gda_data_model_cancel_edit -> gda_data_model_cancel_update ;
+	    gda_data_model_end_edit -> gda_data_model_end_update ;
+	    gda_data_model_is_editing -> gda_data_model_has_changed.
+	- Renamed some signals:
+	    "begin_edit" -> "begin_update" ;
+	    "cancel_edit" -> "cancel_update" ;
+	    "end_edit" -> "end_update".
+	- Added some methods:
+    	    gda_data_model_append_column ;
+	    gda_data_model_update_column ;
+	    gda_data_model_remove_column.
+	- Added some signals:
+	    "column_inserted" ;
+	    "column_updated" ;
+	    "column_removed".
+
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-data-model-hash.c:
+	* libgda/gda-data-model-list.c:
+	* libgda/gda-select.c:
+	* providers/ldap/gda-ldap-recordset.c:
+	* providers/msql/gda-msql-recordset.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/oracle/gda-oracle-recordset.c:
+	Follows GdaDataModel changes (updatable interface).
+
+2003-11-30  Laurent Sansonetti <lrz gnome org>
+
+	* libgda/gda-parameter.c (gda_parameter_list_clear):
+	Parameters were not removed from the hash table (just freed).
+
+2003-11-29  Laurent Sansonetti <lrz gnome org>
+
+	* providers/bdb/*.c:
+	Fixes compilation problems with Berkeley DB 4.x.
+
+2003-11-28  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-data-model.c: emit the row_updated, row_inserted,
+	row_removed and changed signals when appropiate.
+
+2003-11-28  Laurent Sansonetti <lrz gnome org>
+
+	* configure.in, providers/Makefile.am, providers/bdb/*:
+	Added Berkeley-DB provider (experimental).
+
+	* libgda/gda-connection.c (gda_connection_begin_transaction):
+	Fixes a typo in the comment.
+
+2003-11-26  Filip Van Raemdonck <mechanix debian org>
+
+        * providers/mdb/gda-mdb-provider.c (gda_mdb_provider_execute_sql):
+	guard against passing NULL pointers to mdb-tools.
+
+2003-11-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 1.1.0
+
+2003-11-21  Laurent Sansonetti <lrz gnome org>
+
+	* libgda/gda-parameter.c: 
+	Implements gda_parameter_set_value().
+
+2003-11-12  Paisa Seeluangsawat <paisa users sf net>
+	
+	* libgda/gda-blob.c:
+	* libgda/gda-connection.c:
+	* libgda/gda-log.c:
+	* libgda/gda-select.[ch]:
+	* libgda/gda-util.c:
+	trivial fixes to stop some compiler warnings (gcc 3.2.2)
+
+	* libgda/gda-row.c:
+	(gda_row_new_from_list): updated doc comment.
+
+	* libgda/gda-data-model.c: updated a doc comment.
+	(gda_data_model_foreach): stop the loop when user function returns
+	  FALSE (as advertised in the spec).  No longer clones the GdaRows
+	  sent to user's callback.
+
+2003-11-12  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-value.c: fixed gda_value_copy for GdaNumeric. Patch by
+	David MarÂÃn <david aspl es>.
+
+2003-11-11  Laurent Sansonetti <laurent datarescue be>
+
+	* providers/postgres/gda-postgres-recordset.c:
+	Added support for updatable data models.
+
+	* libgda/gda-command.[ch] (gda_command_get_type, gda_command_copy):
+	* libgda/gda-field.[ch] (gda_field_attributes_get_type):
+	* libgda/gda-parameter.[ch] (gda_parameter_get_type, gda_parameter_copy,
+	gda_parameter_list_get_type, gda_parameter_list_copy):
+	* libgda/gda-quark-list.[ch] (gda_quark_list_get_type, 
+	gda_quark_list_copy):
+	* libgda/gda-row.[ch] (gda_row_get_type, gda_row_copy):
+	* libgda/gda-value.[ch] (gda_value_get_gtype):
+	Added missing *_get_type and *_copy functions.
+
+2003-11-03  Jonathan Blandford <jrb redhat com>
+
+	* libsql/lexer.l: #undef L_SET, since it might be defined when
+	enabling the BSD compatibility layer on Linux.
+
+2003-10-27  Laurent Sansonetti <laurent datarescue be>
+
+	* libgda/gda-config.[ch] (gda_config_get_provider_model):
+	New function.
+
+2003-10-26  Laurent Sansonetti <laurent datarescue be>
+
+	* libgda/gda-data-model.c (gda_data_model_to_xml):
+	Implemented the standalone=FALSE case.
+
+2003-10-19  Laurent Sansonetti <laurent datarescue be>
+
+	* doc/C/examples/full_example.c:
+	Fixed compilation issues (was broken).
+
+2003-10-18  Laurent Sansonetti <laurent datarescue be>
+
+	* libgda/*.c:
+	* doc/C/tmpl/*.sgml:
+	Added some missing entries in the API reference, and fixed existing 
+	ones.
+
+2003-10-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/Makefile.am: added gda-marshal.c to built_files.
+
+2003-10-16  Paisa Seeluangsawat <paisa users sf net>
+
+	* providers/mysql/gda-mysql-provider.c: 
+	  - add #include <libgda/gda-util.h> 
+	  - minor cosmatic fixes to stop some compiler warnings.
+	* providers/mysql/gda-mysql-recordset.c:
+	  - fixed possible memory leak by moving gda_row_new() a few line down.
+	  - commented out variable "lengths", which doesn't seem to be used
+	    anywhere.
+	  - handle FIELD_TYPE_BLOB length correctly
+	  - distinguish SQL NULL from 0, 0.0, "".
+	  - factored the code for mysql data -> GdaValue conversion into
+	    fill_gda_value()
+
+2003-10-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.h: added FEATURE_UPDATABLE_CURSOR to
+	GdaConnectionFeature enumeration.
+
+2003-10-14  Murray Cumming  <murrayc usa net>
+ 
+ 	* libgda/gda-config.[h|c]: Register GdaProviderInfo and 
+ 	GdaDataSourceInfo boxed gtypes, with copy and free functions. Useful
+ 	for language bindings.
+
+2003-10-12  Paisa Seeluangsawat <paisa users sf net>
+
+	* libgda/gda-field.h:
+	* libgda/gda-field.c: added default_value field into
+	GdaFieldAttributes.  Add/modify related functions.
+
+2003-10-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/Makefile.am: fixed enum code generation.
+
+2003-10-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/tmpl/gda-blob.sgml: added missing file.
+
+2003-10-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #123342
+
+	* libgda/gda-client.c (gda_client_close_all_connections): remove
+	connections from the list before closing them.
+	(gda_client_notify_event): only notify events if the connection is
+	in our private list.
+
+2003-10-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #121403
+
+	* libgda/gda-connection.c (gda_connection_new): duplicate
+	real_username and real_password strings before they are freed.
+
+2003-10-07  Laurent Sansonetti <laurent datarescue be>
+
+	* libgda/gda-quark-list.c:
+	* libgda/gda-quark-list.h: introduced gda_quark_list_clear() +
+	gda_quark_list_add_from_string() takes care of the 'cleanup'
+	boolean parameter. 
+
+2003-10-01  Murray Cumming  <murrayc usa net>
+
+	* libgda/Makefile.am: Use glib-mkenums to generate
+	the get_type() functions for the libgda enums. The build file
+	stuff is based on the same stuff in pango.
+
+2003-10-01  Laurent Sansonetti <laurent datarescue be>
+
+	* libgda/doc/C/libgda-docs.sgml: fixed some typos and added
+	some information related to the MySQL provider.
+
+2003-09-30  Laurent Sansonetti <laurent datarescue be>
+
+	* libgda/gda-client.h: added missing prototype.
+
+2003-09-29  Christian Neumair  <chris gnome-de org>
+
+	* providers/sybase/utils.c: Fixed string (#110449).
+
+2003-09-19  Chris Silles <cas starfire-programming net>
+
+	* configure.in: fixed msql switch check
+	* providers/msql/gda-msql-provider.c:
+	* providers/msql/gda-msql-recordset.c:
+	* providers/msql/gda-msql-recordset.h: Fixed mSQL provider handling
+        of non-query queries.
+
+2003-09-17  Seth Remington <sremington saberlogic com>
+                                                                                    
+        Fixes #117202
+                                                                                    
+        * providers/freetds/gda-freetds-provider.[ch]: adapted to API changes
+        in tds_connect.
+
+2003-09-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/xml/gda-xml-provider.c: killed warnings.
+	(process_sql_commands): added missing implementation.
+
+2003-09-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/tmpl/*.sgml:
+	* libgda/gda-parameter.c:
+	* libgda/gda-quark-list.c: added more inline documentation.
+
+2003-08-26  Philippe CHARLIER <p charlier chello be>
+
+	* libgda/gda-value.c (gda_value_new_from_xml): the type is stored in
+	the "gdatype" property, not "type".
+
+	* libgda/gda-data-model.c (add_xml_row): fixed typo in call to strcmp().
+
+2003-08-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-database.c (gda_xml_database_new_table_from_node):
+	return NULL if we cannot create the table, not if we can.
+
+2003-08-24  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-client.c:
+	* libgda/gda-value.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* testing/client.c:
+	* testing/postgres-test.c: fixed leaks. Now gda-test doesn't leak when
+	testing mysql, postgrest and default providers.
+
+2003-08-24  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/libgda-docs.sgml:
+	* doc/C/tmpl/gda-blob.sgml:
+	* libgda/gda-connection.c:
+	* libgda/gda-blob.h: added documentation for GdaBlob.
+
+	* libgda/gda-server-provider.c:
+	* libgda/gda-data-model.c: make them abstract.
+
+	* testing/postgres-test.c: fixed double free.
+
+2003-08-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch] (gda_data_model_add_data_from_xml_node):
+	new function.
+	(gda_data_model_to_xml_node): use "value" instead of "field" as the
+	name for the nodes representing the fields' values, to work the same
+	as gda_value_new_from_xml(). Also, add the "gdatype" property.
+
+	* libgda/gda-xml-database.c (gda_xml_database_new_table_from_node):
+	implemented missing code.
+
+2003-08-22  Philippe CHARLIER <p charlier chello be>
+
+	* libgda/gda-xml-database.[ch] (gda_xml_database_set_version): removed
+	(gda_xml_database_get_user_version, gda_xml_databaase_set_user_version):
+	new functions to let applications have a specific version number.
+	(gda_xml_database_save): don't call gda_xml_database_set_version.
+	(gda_xml_database_init, gda_xml_database_finalize): manage the
+	'user_version private field.
+
+2003-08-16  Gonzalo Paniagua Javier <gonzalo ximian com>
+
+	* libgda/gda-blob.c:
+	* libgda/gda-blob.h: removede the 'connection' parameter. The provider
+	should store that as part of the private data in the GdaBlob. Added
+	gda_blob_remove and gda_blob_free_data to allow for blob removal and
+	freeing the data stored by the provider.
+
+	* libgda/gda-connection.c:
+	* libgda/gda-connection.h: added gda_connection_create_blob and
+	GDA_CONNECTION_FEATURE_BLOBS.
+	
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-provider.h: added new virtual function create_blob.
+	Providers that support BLOBs should override this.
+
+	* libgda/gda-value.c: use gda_blob_free_data when clearing a BLOB value.
+	* libgda/libgda.h: include gda-blob.h
+	
+	* providers/postgres/gda-postgres-provider.c: override create_blob and
+	support GDA_CONNECTION_FEATURE_BLOBS.
+
+	* providers/postgres/gda-postgres-recordset.c: when we get a blob, store
+	the current connection data in its private data.
+
+	* providers/postgres/gda-postgres.h: added
+	gda_postgres_blob_set_connection and *blob_create declarations.
+
+	* providers/postgres/utils.c: adapted the blob interface to the new one.
+	Added remove and free_data. A few fixes.
+
+	* testing/client.c: check for FEATURE_BLOBS.
+
+	* testing/postgres-test.c: added tests for BLOBs and fixed print_errors.
+
+2003-08-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/Makefile.am:
+	* libgda/gda-blob.c:
+	* libgda/gda-blob.h:
+	* libgda/gda-util.c:
+	* libgda/gda-value.c:
+	* libgda/gda-value.h:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/utils.c: added GdaBlob and support for BLOBs in
+	the postgres provider. Patch by Juan-Mariano de Goyeneche
+	(jmseyas dit upm es).
+
+2003-08-15  Gonzalo Paniagua Javier <gonzalo gnome-db org com>
+
+	* providers/mysql/gda-mysql-provider.c: pass the MYSQL pointer to the
+	new recordset.
+
+	* providers/mysql/gda-mysql-recordset.c: if mysql_res is NULL, it was
+	a non-query: store the number of affected rows.
+	
+	* providers/mysql/gda-mysql-recordset.h: gda_mysql_recordset_new has a
+	new parameter. Added 'affected_rows' field.
+
+	Fixes bug #119912.
+
+2003-08-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.[ch] (gda_config_save_data_source_info):
+	new function.
+
+	* configure.in: bumped version number.
+
+2003-08-10  Akira TAGOH <tagoh gnome-db org>
+
+	* configure.in: fixed typo to build the freetds backend correctly.
+
+2003-08-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.91.0
+
+2003-08-01  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos pemas net>
+
+	* bindings/Makefile.am, bindings/.cvsignore: Removed so we can nuke
+	this directory.
+	* README: Removed teh bindings directory reference.
+
+2003-08-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libsql/sql_parser.h: compilation used to fail in some cases.
+
+2003-07-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-database.c (gda_xml_database_to_string):
+	set the VERSION string for the version property, not the name.
+
+	* libgda/gda-util.c (gda_file_save): added permissions to
+	the open function call.
+
+2003-07-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-database.c (gda_xml_database_new_table,
+	 gda_xml_database_new_table_from_model,
+	 gda_xml_database_new_table_from_node): connect to "changed"
+	signal on the tables.
+	(table_changed_cb): propagate the "changed" signal to the
+	GdaXmlDatabase object.
+	(remove_table_hash): disconnect from data models' signals.
+	(gda_xml_database_finalize): pass extra argument to remove_table_hash.
+
+	* doc/C/tmpl/gda-xml-database.sgml:
+	* libgda/gda-data-model.c: added some documentation.
+
+2003-07-24  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-value.[ch]: const'ified. Removed some warnings.
+
+2003-07-24  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* lexer.l:
+	* parser.y:
+	* sql_display.c:
+	* sql_parser.c:
+	* sql_parser.h:
+	* sql_tree.c:
+	* sql_tree.h: patch from rodrigo to add initial 'delete' support.
+
+2003-07-21  Juergen "George" Sawinski <jsaw gmx net>
+
+	* configure.in: added missing LDAP_CFLAGS.
+
+2003-07-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-select.c (gda_select_run): implemented basic cases...
+	(populate_from_single_table): ...like "select ... from table".
+
+2003-07-11  Frederic Crozat  <fcrozat mandrakesoft com>
+
+	* configure.in:
+	Fixes compilation for x86-64 platform
+
+2003-07-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #116758
+
+	* configure.in: conditionally define BUILD_RUN_TOOL if popt is found.
+
+	* tools/Makefile.am: build gda-run conditionally.
+
+2003-07-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-database.[ch] (gda_xml_database_get_version):
+	(gda_xml_database_set_version): new functions.
+	(gda_xml_database_new_from_uri): get the version number from the
+	"database" XML node.
+	(gda_xml_database_init): initialize "version" field.
+	(gda_xml_database_finalize): free new field.
+	(gda_xml_database_save): set the database version when saving.
+	(gda_xml_database_to_string): added missing properties and nodes.
+
+	* providers/xml/gda-xml-provider.c
+	(gda_xml_provider_get_server_version): implemented.
+
+2003-07-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-batch.[ch]:
+	* libgda/libgda.h: removed GdaBatch class from library.
+
+2003-07-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in:
+	* providers/Makefile.am:
+	* providers/default/*:
+	* providers/xml/*: renamed default provider to XML.
+
+2003-07-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.90.0
+
+2003-06-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch]: keep alphabetical sort.
+
+	* libgda/gda-connection.h: added GDA_CONNECTION_OPTIONS_DONT_SHARE
+	connection option.
+
+	* libgda/gda-client.c: added more documentation.
+	(gda_client_open_connection): if GDA_CONNECTION_OPTIONS_DONT_SHARE is
+	specified in the connection options, don't reuse connections.
+
+	* doc/C/tmpl/gda-client.sgml:
+	* doc/C/tmpl/gda-command.sgml:
+	* doc/C/tmpl/gda-config.sgml:
+	* doc/C/tmpl/gda-connection.sgml: added more documentation.
+
+2003-06-13  Guntupalli Karunakar  <karunakar freedomink org>
+
+	* configure.in: Added "ml" in ALL_LINGUAS.
+
+2003-06-12  Adam Williams <adam morrison-ind com>
+
+	* libgda.spec.in: added missing stanzas for MDB and LDAP packages.
+
+2003-06-10  Abel Cheung  <maddog linux org hk>
+
+	* configure.in: Added "zh_TW" to ALL_LINGUAS.
+
+2003-06-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml:
+	* doc/C/tmpl/gda-report-*.sgml: added missing libgda-report files.
+
+2003-06-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.12.1
+
+2003-06-03  David T Hollis <dhollis davehollis com>
+
+	* libgda.spec.in: fixed normal and build requirements.
+
+2003-06-03  Steve Fosdick  <gnomedb pelvoux demon co uk>
+
+	* Oracle Provider - fixed a statement handle leak which caused
+	Oracle to run out of cursors.
+
+2003-05-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.12.0
+
+2003-05-28  Danilo ÂÃÂÂegan  <dsegan gmx net>
+
+	* configure.in: Added "sr" and "sr Latn" to ALL_LINGUAS.
+
+2003-05-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-parameter.[ch] (gda_parameter_new_boolean):
+	(gda_parameter_new_double): new functions.
+
+	* configure.in: upped version numbers.
+
+2003-05-13  Xabier RodrÂÃÂÂguez Calvar <xrcalvar igalia com>
+
+	* doc/C: some changes to make it more solid
+
+	* libgda/gda-row.*: introduced G_CONST_RETURN in
+	gda_row_get_value() to have the const in the doc but not in the
+	real version
+
+	* libgda/gda-parameter.*: removed gda_parameter_new(), adding
+	gda_parameter_new_from_value() to make the API more solid and
+	removed some checkings for null because they were not necessary.
+
+2003-05-12 Sergey N. Belinsky <sergey_be mail ru>
+
+	* gda-ibmdb2-provider.c:
+	* gda-ibmdb2-recordset.c:
+	* gda-ibmdb2-types.c: fix for compile problem.
+
+2003-05-10  Danilo Schoeneberg <dj starfire-programming net>
+
+	* configure.in:
+	* providers/Makefile.am:
+	* providers/msql/*: first version of mSQL provider.
+
+2003-05-08  C.J. Collier <cjcollier colliertech org>
+
+	* doc/C/libgda-docs.sgml: removed extra space in hyperlinks, some
+	English corrections, and wrapped shell commands in <PROGRAMLISTING>
+	tags to follow the common style.
+
+2003-04-27  Steve Fosdick  <gnomedb pelvoux demon co uk>
+
+	* Oracle Provider: fixed the recordset returned from
+	get_schema(GDA_CONNECTION_SCHEMA_AGGREGATES)
+
+	* Fixed some compiler warnings.
+
+2003-04-20  Bodo Pfelzer <Bodo Pfelzer epost de>
+
+	* configure.in: fixed typo in MySQL library detection.
+
+2003-04-20  Steve Fosdick  <gnomedb pelvoux demon co uk>
+
+	* Oracle Provider: clean up type handling and add support for
+	GDA_VALUE_TYPE_TIMESTAMP.
+
+2003-04-19  Steve Fosdick  <gnomedb pelvoux demon co uk>
+
+	* libgda/providers/oracle/gda-oracle-provider.c: Fixed a bug where
+	the index data was not being correctly retrieved including
+	updating the get_oracle_index_data to take the name of the table
+	owner for which it is to find index data.
+
+2003-04-18  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* Improved support for types and fixed bug which caused the Null?
+	column to always show "Yes" regardless of whether nulls were
+	actually allowed.
+	
+2003-04-18  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* Oracle Provider - changed error handling -
+	gda_oracle_check_result is now a macro rather than a function and
+	therefore has access to the compiler __FILE__ and __LINE__ macros
+	which are then included as part of the source or the error message.
+
+2003-04-18  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* libgda/providers/oracle/gda-oracle-provider.c: Fixed a bug in
+	gda_oracle_provider_get_schema - previously a number of calls were
+	made to the function get_oracle_objects which normally returns a
+	GDA data model but which could return NULL, then an attempt was
+	made to set of the first column of the retruned data model without
+	checking for NULL.  Now the title is set within get_oracle_objects
+	which does check for NULL.
+	
+2003-04-18  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* libgda/providers/oracle/gda-oracle-provider.c: Removed debugging
+	messages and added local variable declaration for Emacs to help
+	keep to the coding style.
+	
+2003-04-18  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* libgda/providers/oracle/gda-oracle-provider.c: Fixed the
+	handling of usernames and password so that if the
+	username/password supplied at connection time is blank and so
+	is the username/password obtained from the DSN the provider will
+	try to connect to Oracle with a blank username/password rather
+	than crash from trying to dereference a NULL pointer.
+	
+2003-04-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libsql/Makefile.am: don't use the same source files for the library
+	and the test program, link against the library instead.
+
+2003-04-12  David T Hollis <dhollis davehollis com>
+
+	* libgda.spec.in: made it work on RH9.
+
+2003-03-30  Mike Wingert <wingert 3 osu edu>
+
+	* providers/sybase/*: fix for compile problem, related to changes
+	in gda_row_new.
+
+2003-03-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: fixed typo in FreeTDS CFLAGS.
+
+2003-03-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: check for ODBC header files also.
+
+2003-03-17  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: small fix by David
+	Martin CarreÂÃÂÂo (david aspl es).
+
+2003-03-16  Roozbeh Pournader  <roozbeh sharif edu>
+
+	* configure.in: Added "fa" to ALL_LINGUAS.
+
+2003-03-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/xbase/libmain.c (plugin_get_*): made name shorter
+	and improved description.
+
+	* providers/sybase/Makefile.am: added missing header file.
+
+2003-03-12  David T Hollis <dhollis davehollis com>
+
+	* libgda.spec.in: Fix --with-tds & --without-tds to match what
+	configure wants
+
+2003-03-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-connection.c: check that xaction argument is a
+	GdaTransaction in begin/commit/rollback.
+
+2003-03-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/utils.c: fixes to timestamp parsing.
+
+2003-03-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.11.0
+
+2003-03-09  Akira Tagoh <tagoh gnome-db org>
+
+	* configure.in:
+	* providers/freetds/*: made it work with latest (0.61) FreeTDS.
+
+2003-03-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/Makefile.am: added DTD_FILES to EXTRA_DIST.
+
+2003-02-23  Santi Camps <santi gnome-db org>
+
+	* libgda/report/Makefile.am: new dtd added
+	* libgda/report/gda-report-result.dtd: new dtd for report results
+	  (after execution and before format)
+
+	* libgda/report/libgda-report/Makefile.am: 
+	* libgda/report/libgda-report/gda-report.h: 
+	  new sources added
+
+	* libgda/report/libgda-report/gda-report-document.[ch]: DTD parameter optional
+	* libgda/report/libgda-report/gda-report-types.[ch]: new read methods
+	
+	* libgda/report/libgda-report/gda-report-item.[ch]: 
+	* libgda/report/libgda-report/gda-report-item-detail.[ch]: 
+	  added methods to retrieve childs sequentially
+
+	 * libgda/report/libgda-report/gda-report-result.[ch]: 
+	  To obtain a report result from a report document (not working, just beginning)
+
+	
+2003-02-19  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* Add minimal support for Oracle 9i.
+
+	* configure.in: Changed to use the shared OCI client library.
+
+	* providers/oracle/gda-oracle-*.c: worked around what appears to
+	be a bug in pre-fetching in Oracle 9.2.0.2.0
+	
+2003-02-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: applied fix to get the
+	correct password (thanks to david aspl es).
+
+2003-02-11  Sergey N. Belinsky <sergey_be mail ru>
+
+	* providers/ibmdb2/gda-ibmdb2-types.[ch]:  added support of
+	BIGINT, REAL,  DOUBLE, LONGVARCHAR, DATE, TIME and TIMESTAMP
+	datatypes.
+	* providers/ibmdb2/gda-ibmdb2-recordset.[ch]: fix bug with NULL
+	return code in gda_ibmdb2_recordset_new.  
+	* providers/ibmdb2/gda-ibmdb2-provider.[ch]: added support of
+	GDA_COMMAND_OPTION_STOP_ON_ERRORS in queries.  
+	* providers/ibmdb2/utils.c: fix bug with zero errors in list.
+	* providers/ibmdb2/*.[ch]: in all sources of IBM DB2 provider
+	removed C++ like comments (#105037).
+	* testing/ibmdb2-test.[ch]: added some tests for IBM DB2 provider.
+
+2003-02-08  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* providers/oracle/gda-oracle-provider.[ch]: Introduced a default namespace
+	for tables in which all the tables from ALL_TABLES are included,
+	i.e. all those the user has privilege for, but when names clash
+	the table in the user's own schema masks the other table(s).  Uses
+	a binary tree cache of table owners.
+
+2003-02-06  Christian Neumair <chris gnome-de org>
+
+	* providers/ldap/.cvsignore: Added.
+	* providers/oracle/gda-oracle-provider.c: Fixed typo.
+
+2003-02-03  Sergey N. Belinsky <sergey_be mail ru>
+
+	* providers/ibmdb2/*: added support for transactions, and schemas
+	for aggregates, users, views, database, procedures, types, triggers
+	and indexes. Added recordset class for IBM DB2.
+
+2003-02-04  Akira TAGOH <tagoh gnome-db org>
+
+	* don't use C++ comment in C sources/headers. it breaks the
+	  compilation with -ansi option. (#105037)
+
+2003-02-01  Steve Fosdick <gnomedb pelvoux demon co uk>
+
+	* providers/oracle/gda-oracle-provider.c (gda_oracle_init_md_recset,
+	gda_oracle_fill_md_data): fixed field descriptions.
+
+2003-01-31  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-client.c: unref the weak references to avoid hash table
+	corruption when unref on the provider (which ends up removing the
+	providers in the hash table while inside another g_hash_table_foreach).
+
+2003-01-31  Steve Fosdick <fozzy pelvoux demon co uk>
+
+	* providers/oracle/utils.c (gda_oracle_set_value): remove trailing
+	spaces from strings read from the database.
+
+2003-01-28  Yanko Kaneti <yaneti declera com>
+
+	* libgda.spec.in: added --without flags.
+
+2003-01-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.spec.in: removed idl directory.
+
+2003-01-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0,10.0
+
+2003-01-28  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/odbc/gda-odbc-provider.c:
+	* providers/odbc/gda-odbc-recordset.c:
+	* providers/odbc/gda-odbc.h:
+	* providers/odbc/utils.c: removed config.h.
+
+2003-01-27  Santi Camps <santi gnome-db org>
+
+	* libgda/report/libgda-report/Makefile.am: 
+	* libgda/report/libgda-report/gda-report.h: 
+	  new sources added
+
+	* libgda/report/testing/gda-report-test.c: some new tests added
+	* libgda/report/libgda-report/gda-report-item.[ch]: new generical functions 
+	  needed to manage the internal structure
+	* libgda/report/libgda-report/gda-report-types.c: new constant ITEM_SQLQUERY_NAME
+	* libgda/report/libgda-report/gda-report-item-report.c: allow set/get 
+	  sqlqueries, detail and repfields
+
+	* libgda/report/libgda-report/gda-report-item-pagefooter.[ch]:
+	* libgda/report/libgda-report/gda-report-item-pageheader.[ch]:
+	* libgda/report/libgda-report/gda-report-item-reportfooter.[ch]:
+	* libgda/report/libgda-report/gda-report-item-reportheader.[ch]:
+	  allow to work with repfields	  
+
+	* libgda/report/libgda-report/gda-report-item-sqlquery.[ch]:
+	* libgda/report/libgda-report/gda-report-item-detail.[ch]:
+	* libgda/report/libgda-report/gda-report-item-repfield.[ch]:
+	  All attributes implemented	  
+
+2003-01-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.c (gda_value_stringify): use a fixed number of
+	decimal positions for float/double numbers.
+
+2003-01-26  Christian Neumair <chris gnome-de org>
+
+	* providers/default/libmain.c (plugin_get_name): Marked "Default" for
+	translation.
+
+2003-01-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.h: added new event types.
+
+	* libgda/gda-client.c (gda_client_notify_error_event):
+	(gda_client_notify_connection_opened_event):
+	(gda_client_notify_connection_closed_event):
+	(gda_client_notify_transaction_started_event):
+	(gda_client_notify_transaction_committed_event):
+	(gda_client_notify_transaction_cancelled_event): new functions.
+	(connection_error_cb, gda_client_open_connection): use the new
+	gda_client_notify_* functions to notify events.
+
+	* libgda/gda-connection.c (gda_connection_finalize,
+	gda_connection_new, gda_connection_begin_transaction,
+	gda_connection_commit_transaction,
+	gda_connection_rollback_transaction): use the new gda_client_notify_*
+	functions to notify events.
+
+2003-01-23  Santi Camps <santi gnome-db org>
+
+	* libgda/report/libgda-report/Makefile.am: 
+	* libgda/report/libgda-report/gda-report.h: 
+	  new sources added
+	  
+	* libgda/report/testing/gda-report-test.c: some new tests added
+	* libgda/report/libgda-report/gda-report-item.[ch]: new generical functions 
+	  needed to manage the internal structure
+	* libgda/report/libgda-report/gda-report-item-report.c: not allow child 
+	  elements if parent element doesn't belong to a report-document
+	* libgda/report/gda-report.dtd.in: added suport for multiple queries, and
+	  for both xql and sql queries	  
+
+	* libgda/report/testing/valid-example.xml: 
+	* libgda/report/testing/non-valid-example.xml: 
+	* libgda/report/gda-report-example.xml: 
+	  modified due to changes in DTD
+
+	* libgda/report/libgda-report/gda-report-item-pageheader.[ch]: 
+	* libgda/report/libgda-report/gda-report-item-pagefooter.[ch]: 
+	* libgda/report/libgda-report/gda-report-item-repotheader.[ch]: 
+	* libgda/report/libgda-report/gda-report-item-repotfooter.[ch]: 
+	  functions to allow work with reportelements and _remove function
+	  
+	* libgda/report/libgda-report/gda-report-item-label.[ch]:
+	  All attributes implemented
+
+2003-01-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch] (gda_value_new_timestamp_from_timet): new function.
+
+2003-01-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: require MDB's SQL interface.
+
+	* libgda/gda-field.[ch] (gda_field_attributes_get_position,
+	gda_field_attributes_set_position): new functions.
+	(gda_field_attributes_copy): copy the new structure's member.
+
+	* libgda/gda-table.c (gda_table_add_field): set table name and
+	position on the field attributes.
+	(gda_table_describe_column): added missing code.
+
+	* providers/mdb/gda-mdb.h: included mdbsql.h.
+
+	* providers/mdb/libmain.c (g_module_check_init, g_module_unload):
+	added GModule load/unload functions, and initialize/cleanup MDB's SQL
+	interface on them.
+
+	* providers/mdb/gda-mdb-provider.[ch] (gda_mdb_provider_execute_sql):
+	new function for executing SQL commands.
+	(gda_mdb_provider_execute_command): implemented.
+
+2003-01-19  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/postgres-test.c: fixed child table name.
+
+2003-01-19  Santi Camps <santi gnome-db org>
+
+	* libgda/report/testing/gda-report-test.c: some new tests added
+	* libgda/report/libgda-report/Makefile.am: new sources added
+	* libgda/report/libgda-report/gda-report.h: new sources added
+	* libgda/report/libgda-report/gda-report-item-report.c:
+	  Set and get pageheaders and pagefooters 
+	  
+	* libgda/report/libgda-report/gda-report-item-report.c:
+	* libgda/report/libgda-report/gda-report-item-reportheader.c:
+	* libgda/report/libgda-report/gda-report-item-reportfooter.c:
+	* libgda/report/libgda-report/gda-report-types.c: 
+	  All constants for each item name moved to gda-report-types.c
+	
+	* libgda/report/libgda-report/gda-report-item-pageheader.[ch]:
+	  All attributes implemented
+	* libgda/report/libgda-report/gda-report-item-pagefooter.[ch]:
+	  All attributes implemented
+
+
+2003-01-19  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-client.c: use g_hash_table_foreach_remove instead of
+	removing the hash entry inside remove_provider_in_hash (tracked down
+	with Rodrigo).
+
+	* libgda/gda-connection.c:
+	* providers/freetds/gda-freetds-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/libmain.c:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/oracle/libmain.c:
+	* providers/sybase/gda-sybase-provider.c: unified the parameter name
+	for the user (USER instead of USERNAME).
+
+	* providers/postgres/gda-postgres-provider.c: 'username' and
+	'password' arguments take precedence over the ones in the provider
+	configuration.
+
+2003-01-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #102024
+
+	* libgda/gda-value.[ch]: added money type.
+	(gda_value_new_money, gda_value_get_money, gda_value_set_money): new
+	functions.
+	(set_from_string, gda_value_is_number, gda_value_copyi,
+	gda_value_set_from_value, gda_value_stringify, gda_value_compare):
+	take the new type into account.
+
+2003-01-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #95959
+
+	* providers/default/libmain.c:
+	* providers/firebird/libmain.c:
+	* providers/freetds/libmain.c:
+	* providers/ibmdb2/libmain.c:
+	* providers/ldap/libmain.c:
+	* providers/mdb/libmain.c:
+	* providers/mysql/libmain.c:
+	* providers/odbc/libmain.c:
+	* providers/oracle/libmain.c:
+	* providers/postgres/libmain.c:
+	* providers/sqlite/libmain.c:
+	* providers/sybase/libmain.c:
+	* providers/xbase/libmain.c: removed GDA/libgda from user-visible
+	strings.
+
+2003-01-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/libmain.c (plugin_get_connection_params): added
+	USE_SSL parameter for the MySQL provider. Also, removed unused FLAGS
+	parameter.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_open_connection): added support for SSL
+	connections and fixed #93925.
+
+2003-01-18  Santi Camps <santi gnome-db org>
+
+	* configure.in: added libgda/report/testing/Makefile
+	* report/Makefile.am: added subdir testing
+	* report/*: 
+	* report/libgda-report/*: 
+	* report/testing/*: 
+		Changed my contact e-mail to santi gnome-db org
+	* report/testing/gda-report-test.c: some new tests
+	* report/libgda-report/Makefile.am: new sources added
+	* report/libgda-report/gda-report.h: new sources added
+	* report/libgda-report/gda-report-item.[ch]: new functions to add
+	  sibling items and to replace items
+	* report/libgda-report/gda-report-item-report.c:
+	  Set and get reportheader and reportfooter 
+	* report/libgda-report/gda-report-item-reportheader.[ch]:
+	  All attributes implemented
+	* report/libgda-report/gda-report-item-reportfooter.[ch]:
+	  All attributes implemented
+
+2003-01-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_append_row):
+	passed the correct row number to gda_data_model_row_inserted.
+
+2003-01-17  Nick Gorham <nick easysoft com>
+
+	* providers/odbc/*: updated version of the ODBC provider.
+
+2003-01-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-parameter.[ch] (gda_parameter_new_gobject): new function.
+
+	* libgda/gda-client.h: updated argument names for events. Removed
+	"error" signal, now obsoleted by "event_notification".
+
+	* libgda/gda-client.c (connection_error_cb): pass a GdaError object as
+	the parameter for the GDA_CLIENT_EVENT_ERROR event. Don't emit "error"
+	signal.
+	(gda_client_open_connection): no parameters for CONNECTION_OPENED
+	event.
+	(gda_client_class_init): don't create "error" signal.
+
+	* libgda/gda-connection.c (gda_connection_finalize, gda_connection_new):
+	no parameters for CONNECTION_OPENED/CONNECTION_CLOSED events.
+.
+2003-01-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.h: added GDA_VALUE_TYPE_GOBJECT type.
+
+	* libgda/gda-value.c (gda_value_new_gobject, gda_value_get_gobject,
+	gda_value_set_gobject): new functions.
+	(clear_value, gda_value_copy, gda_value_set_from_value,
+	gda_value_stringify, gda_value_compare): take into account the new type.
+
+	* providers/xbase/gda-xbase-database.cpp: fixed xbase header file.
+
+2003-01-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.c (gda_data_model_to_xml_node): added the
+	model data to the returned XML node.
+
+2003-01-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-database.[ch] (gda_xml_database_to_string): new
+	function.
+
+	* libgda/gda-data-model.c (gda_data_model_to_xml): implemented (only
+	the standalone=TRUE case).
+
+	* doc/C/*: new documentation added.
+
+2003-01-16  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* configure.in: removed config.h.
+
+	* libgda/gda-batch.c:
+	* libgda/gda-client.c:
+	* libgda/gda-config.c:
+	* libgda/gda-connection.c:
+	* libgda/gda-error.c:
+	* libgda/gda-export.c:
+	* libgda/gda-init.c:
+	* libgda/gda-log.c:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-table.c:
+	* libgda/gda-value.c:
+	* libgda/gda-xml-database.c:
+	* providers/default/gda-default-provider.c:
+	* providers/default/gda-default.h:
+	* providers/firebird/gda-firebird-provider.c:
+	* providers/freetds/gda-freetds-message.c:
+	* providers/freetds/gda-freetds-message.h:
+	* providers/freetds/gda-freetds-provider.c:
+	* providers/freetds/gda-freetds-provider.h:
+	* providers/freetds/gda-freetds-recordset.c:
+	* providers/freetds/gda-freetds-types.c:
+	* providers/freetds/gda-freetds-types.h:
+	* providers/freetds/gda-freetds.h:
+	* providers/freetds/gda-tds-schemas.h:
+	* providers/freetds/utils.c:
+	* providers/ibmdb2/gda-ibmdb2-provider.c:
+	* providers/ibmdb2/gda-ibmdb2.h:
+	* providers/ibmdb2/utils.c:
+	* providers/ldap/gda-ldap-provider.c:
+	* providers/ldap/gda-ldap-recordset.c:
+	* providers/ldap/gda-ldap.h:
+	* providers/mdb/gda-mdb-provider.c:
+	* providers/mdb/gda-mdb-table.c:
+	* providers/mdb/gda-mdb.h:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-recordset.c:
+	* providers/mysql/gda-mysql.h:
+	* providers/odbc/gda-odbc.h:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/oracle/gda-oracle-recordset.c:
+	* providers/oracle/gda-oracle.h:
+	* providers/oracle/utils.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres-recordset.c:
+	* providers/postgres/gda-postgres.h:
+	* providers/postgres/utils.c:
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/sqlite/gda-sqlite-recordset.c:
+	* providers/sqlite/utils.c:
+	* providers/sybase/gda-sybase-provider.c:
+	* providers/sybase/gda-sybase-provider.h:
+	* providers/sybase/gda-sybase-recordset.c:
+	* providers/sybase/gda-sybase-schemas.h:
+	* providers/sybase/gda-sybase-types.c:
+	* providers/sybase/gda-sybase-types.h:
+	* providers/sybase/gda-sybase.h:
+	* providers/sybase/main.c:
+	* providers/sybase/utils.c:
+	* providers/xbase/gda-xbase-provider.c:
+	* report/libgda-report/gda-report-document.c:
+	* report/libgda-report/gda-report-item-report.c:
+	* report/libgda-report/gda-report-item-reportheader.c:
+	* report/libgda-report/gda-report-item.c:
+	* report/libgda-report/gda-report-types.c:
+	* report/libgda-report/gda-report-valid.c:
+	* testing/client.c:
+	* testing/config.c:
+	* testing/gda-test.c:
+	* tools/gda-run.c: removed config.h.
+
+	* tools/Makefile.am:
+	* providers/default/Makefile.am:
+	* report/testing/Makefile.am:
+	* testing/Makefile.am:
+	* providers/oracle/Makefile.am:
+	* providers/ldap/Makefile.am: $(top_srcdir) and $(top_buildir) are now
+	teh first ones in INCLUDE.
+
+2003-01-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_class_init): use G_TYPE_INT instead
+	of G_TYPE_ENUM.
+
+	* providers/mdb/gda-mdb-provider.c
+	(gda_mdb_provider_begin_transaction,
+	gda_mdb_provider_commit_transaction,
+	gda_mdb_provider_rollback_transaction): call add_error_string instead
+	of add_error.
+
+	* providers/ldap/gda-ldap-provider.c (get_ldap_tables): return the
+	correct number of columns for the TABLES schema.
+
+2003-01-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-marshal.list: added new marshal function.
+
+	* libgda/gda-client.[ch]: added GdaClientEvent enum type.
+	(gda_client_notify_event): new function.
+	(gda_client_class_init): added "event_notification" signal.
+	(gda_client_open_connection): added notification of events.
+	(emit_client_error): use connection_error_cb.
+	(connection_error_cb): notify ERROR action (to replace the "error"
+	signal in GdaClient soon).
+
+	* libgda/gda-connection.c (gda_connection_finalize,
+	gda_connection_new): added notification of events.
+
+2003-01-15  German Poo-Caaman~o <gpoo ubiobio cl>
+
+	* configure.in: Added LDAP files check.
+	* providers/Makefile.am: Added conditional LDAP build
+	* providers/ldap: 
+	* providers/ldap/gda-ldap.h:
+	* providers/ldap/gda-ldap-provider.[ch]:
+	* providers/ldap/gda-ldap-recordset.[ch]:
+	* providers/ldap/libmain.c:
+	* providers/ldap/utils.c: Added LDAP provider.  Currently
+	  supports open_connection, close_connection, providers_supports,
+	  get_database, get_schema, get_version, get_server_version.
+	  LDAP doesn't support transation, but begin_transaction,
+	  rollback_transaction and commit_transaction are implemented 
+	  in a simple way.
+
+2003-01-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-log.c: use syslog for log messages.
+
+	* providers/mdb/gda-mdb-provider.c (gda_mdb_provider_get_database):
+	implemented.
+	(gda_mdb_provider_begin_transaction, gda_mdb_provider_commit_transaction,
+	gda_mdb_provider_rollback_transaction): added error about transactions
+	not being supported.
+	(gda_mdb_provider_supports): added more features we support.
+	(get_mdb_databases): implemented DATABASES schema.
+	(get_mdb_fields): implemented FIELDS schema.
+
+2003-01-13  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-client.c: don't unref the providers twice. Fixed with
+	Rodrigo's help.
+
+2003-01-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-log.c (gda_log_error, gda_log_message): use
+	g_strdup_printf instead of vprintf.
+
+2003-01-13  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres-recordset.c:
+	* providers/postgres/gda-postgres.h:
+	* providers/postgres/utils.c: added support for 'bytea' type fields as
+	GDA_VALUE_TYPE_BINARY.
+
+	* testing/postgres-test.c: added new 'bytea' field to test and display
+	errors when some statement fails.
+
+2003-01-10  Santi Camps <santi gnome-db org>
+
+	* libgda/report/Makefile.am: install gda-report.dtd to 
+	  \$(datadir)/libgda/xml instead of \$(datadir)/libgda/dtd
+	* libgda/report/gda-report-example.xml: added a sql query to be well 
+	  formed against the .dtd
+	* libgda/report/gda-report.dtd.in: some little changes to simplify the
+	  use of libxml
+	* libgda/report/testing/*: a simple program to make some tests 
+	* libgda/report/libgda-report/Makefile.am: some new files added
+	* libgda/report/libgda-report/gda-report-document.[ch]: changed. Now it
+	  manages the report as a document, but not the root element "report"
+	* libgda/report/libgda-report/gda-report-types.h: most of types removed,
+	  and now validated against the .dtd
+	* libgda/report/libgda-report/gda-report.h: some new files added
+	* libgda/report/libgda-report/gda-report-item.[ch]: implemented a generic
+	  item of the report.  Each element of the report will inherit from it
+	* libgda/report/libgda-report/gda-report-valid.[ch]:  implemented some
+	  validations against the .dtd
+	* libgda/report/libgda-report/gda-report-item-report.[ch]: implemented
+	  the report root element "report"
+	* libgda/report/libgda-report/gda-report-item-reportheader.[ch]: 
+	  implemented the report item "reportheader"
+
+2003-01-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mdb/gda-mdb-provider.c (get_mdb_procedures): implemented
+	GDA_CONNECTION_SCHEMA_PROCEDURES.
+	(gda_mdb_provider_open_connection): read the all catalogs.
+	(gda_mdb_provider_get_server_version): adapted to mdb-tools CVS.
+
+2003-01-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #87321
+	
+	* libgda/gda-row.[ch] (gda_row_new, gda_row_new_from_list): added a
+	#GdaDataModel argument, so that implementations can associate the
+	GdaRow with the GdaDataModel that contains it.
+
+	* libgda/gda-data-model.c (gda_data_model_foreach):
+	* libgda/gda-data-model-array.c (gda_data_model_array_append_row):
+	* libgda/gda-data-model-hash.c (gda_data_model_hash_append_row):
+	* providers/freetds/gda-freetds-recordset.c (gda_freetds_get_current_row):
+	* providers/mysql/gda-mysql-recordset.c (fetch_row,
+	  gda_mysql_recordset_append_row):
+	* providers/oracle/gda-oracle-recordset.c (fetch_row,
+	  gda_oracle_recordset_append_row):
+	* providers/postgres/gda-postgres-recordset.c (get_row):
+	* providers/sqlite/gda-sqlite-recordset.c (get_row):
+	adapted to changes in gda_row_new.
+
+2003-01-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_begin_transaction):
+	(gda_mysql_provider_commit_transaction):
+	(gda_mysql_provider_rollback_transaction): don't allow transactions in
+	read-only connections.
+
+	* providers/oracle/gda-oracle-provider.c
+	(gda_oracle_provider_begin_transaction):
+	(gda_oracle_provider_commit_transaction):
+	(gda_oracle_provider_rollback_transaction): ditto.
+
+	* providers/sqlite/gda-sqlite-provider.c
+	(gda_sqlite_provider_begin_transaction):
+	(gda_sqlite_provider_commit_transaction):
+	(gda_sqlite_provider_rollback_transaction): ditto.
+
+2003-01-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #78847
+
+	* libgda/gda-connection.c (gda_connection_get_options): added missing
+	function.
+
+	* providers/mysql/gda-mysql-provider.c (process_sql_commands): added
+	ugly hack to avoid execution of modification commands on read-only
+	connections.
+
+2003-01-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_open_connection): made all GModule's
+	we load resident, to avoid registration problems with types defined in
+	them.
+	(provider_weak_cb): added weak reference callback for controlling the
+	lifetime of all the providers we load.
+
+2003-01-06  Holger Thon <holger thon gnome-db org>
+
+	* configure.in: freetds include fix for redhat
+	* providers/freetds/gda-freetds-provider.[ch]: server id 
+	renamed
+
+2003-01-04  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/Makefile.am: added gda-config.5.
+	* tools/gda-config.5: manual page for configuration file.
+
+2003-01-02  David Hollis <dhollis davehollis com>
+
+	* libgda.spec.in: added build requirements for gda-sqlite and man page
+	for gda-config-tool.
+
+2002-12-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in:
+	* acconfig.h: s/INTERBASE/FIREBIRD.
+
+	* providers/interbase/*: moved...
+
+	* providers/firebird/*: ...to here, since we will be supporting
+	FireBird, the community-based version of Interbase.
+
+2002-12-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.c (gda_data_model_describe_column): don't call
+	gda_data_model_get_column_title, to avoid circular calls between the 2
+	functions. Should fix #102131.
+
+	* libgda/gda-table.[ch] (gda_table_get_name, gda_table_set_name):
+	new functions.
+
+	* providers/mdb/gda-mdb-table.[ch]: added implementation of data
+	data models based on the tables from the MdbHandle structure.
+
+	* providers/mdb/gda-mdb-provider.c (get_mdb_tables): use correct
+	value types for schema data model.
+
+	* providers/mdb/util.c (gda_mdb_type_to_gda): new function.
+
+2002-12-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mdb/gda-mdb-provider.c (gda_mdb_provider_supports): added
+	implemention for provider method.
+
+2002-12-27  Vivien Malerba <malerba gnome-db org>
+
+       * providers/postgres/gda-postgres-provider.c: merged a patch provided
+       by Santi Camps for bug #101642
+
+2002-12-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mdb/gda-mdb-provider.c (get_mdb_types): implemented TYPES
+	schema.
+
+2002-12-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mdb/gda-mdb-provider.c (gda_mdb_provider_get_database,
+	gda_mdb_provider_change_database, gda_mdb_provider_create_database,
+	gda_mdb_provider_drop_database): added missing methods.
+	(get_mdb_tables): included all missing schema information.
+
+	* libgda/gda-table.c: fixed typo in PARENT_TYPE #define (now really
+	subclassing GdaDataModelArray, and not GdaDataModel.
+
+2002-12-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/xbase/gda-xbase-provider.c
+	(gda_xbase_provider_open_connection): added the connection to the hash
+	table of databases, and added code to read all .mdb files in the
+	specified directory.
+
+2002-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/client.c (open_connection): added missing schemas.
+
+2002-12-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model-hash.c (gda_data_model_hash_append_row,
+	gda_data_model_hash_insert_row): emit more fine-grained modification
+	signals.
+
+2002-12-19  Holger Thon <holger thon gnome-db org>
+
+	* providers/sybase/gda-sybase{.h,-schemas.h}: separated schemas
+	from freetds provider
+
+        * providers/freetds/gda-freetds-provider.[ch]: fixed charset 
+	setting, implemented get_database (hoping mssql has the same 
+	builtin function)
+        * providers/freetds/gda-tds-schemas.h: Fixed attribute types 
+	of schema queries, though this did not fix bug #101353
+
+2002-12-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.[ch] (gda_row_get_number, gda_row_set_number): new
+	functions.
+
+	* libgda/gda-data-model.[ch]: added "row_inserted", "row_removed" and
+	"row_updated" signals.
+	(gda_data_model_row_inserted):
+	(gda_data_model_row_updated):
+	(gda_data_model_row_removed): new functions to emit the new signals.
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_append_row,
+	gda_data_model_remove_row): emit more fine-grained modification
+	signals.
+
+	* libgda/gda-data-model-list.c (gda_data_model_list_init): connect to
+	signals on the internal data model.
+	(proxy_changed_cb, proxy_row_inserted_cb, proxy_row_updated_cb,
+	proxy_row_removed_cb): callbacks for proxying the internal data
+	model's signals.
+
+2002-12-18  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/libmain.c: added a connection parameter to specify a "search_path" (which is a list
+	of Postgres's 7.3 schemas separated by a comma where database objects can be found). This parameter
+	has no effect when connecting to postgres versions prior to 7.3.
+	* providers/postgres/gda-postgres-provider.c: implemented most of the schemas for postgres 7.3 (the only
+	remaining is for the references).
+	* providers/postgres/gda-postgres-provider.h: added two fields to the
+	private structure to hold strings of data types that are considered to
+	be Postgres internal only (one string for plain data type names and
+	one for the OIDs versions).
+	
+2002-12-16  Christian Neumair  <chris gnome-de org>
+
+	* providers/sybase/gda-sybase-provider.c: Fixed typo.
+
+2002-12-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	Should fix #101046
+
+	* providers/oracle/gda-oracle-provider.c (get_oracle_tables): use
+	double quotes instead of single quotes for aliases in SELECT command.
+
+2002-12-16  Holger Thon <holger thon gnome-db org>
+
+	Fixes translation bugs: #101084, #101085, #101087, #101088
+	* providers/sybase/gda-sybase-{provider,recordset}.c,
+	providers/sybase/utils.c: gettext fixes
+
+2002-12-15  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: implemented the tables
+	schema list for Postgres 7.3 and started the aggregates 
+
+2002-12-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.h: added SCHEMA_LANGUAGES to GdaConnectionSchema
+	enumeration.
+
+2002-12-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #101085
+
+	* providers/sybase/gda-sybase-provider.c
+	(gda_sybase_provider_get_database): fixed typo.
+
+2002-12-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #101084
+
+	* providers/sybase/gda-sybase-provider.c (gda_sybase_execute_cmd):
+	don't mark function names for translation.
+
+2002-12-13  Vivien Malerba <malerba gnome-db org>
+
+	* libgda/gda-value.c: corrected a localization bug in the gda_value_to_xml () function.
+	* providers/postgres/gda-postgres-provider.c: started to implement the
+	  changes to handle the Postgres 7.3 "schemas" features.
+	* libgda/gda-connection.h: added a new feature enum (GDA_CONNECTION_FEATURE_NAMESPACES)
+	  and a new schemas enum (GDA_CONNECTION_SCHEMA_NAMESPACES).
+	* doc/C/libgda-docs.sgml: updated the documentation for the
+	  "namespaces" (Postgres's 7.3 new schemas feature)
+
+2002-12-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #101118
+
+	* configure.in:
+	* Makefile.am: removed IDL dir from the build.
+
+2002-12-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #97669 (Oracle part)
+
+	* gda-oracle-connection.c (get_oracle_objects): added a 'nargs'
+	argument to get the number of fields that are expected to be returned
+	in the data model, so that we always return the correct number
+	(very temporary fix until we really implement all schemas).
+	(gda_oracle_provider_get_schema): use new argument in
+	get_oracle_objects().
+
+2002-12-10  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-tds-{schemas.h,types.c}:
+	* providers/freetds/gda-freetds-provider.[ch]: fixed types schema,
+	get_server_version
+	* providers/freetds/gda-freetds-recordset.c: fixed datamodel return
+	for queries without result
+	
+	* testing/freetds-test.c: activated freetds provider checks again
+	
+	* providers/sybase/gda-sybase-provider.c: null-length password fix
+
+2002-12-09  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-tds-schemas.h: corrected users schema
+	* providers/sybase/gda-sybase-provider.[ch]: finished basic
+	connection code and schema implementation
+	* providers/sybase/gda-sybase-types.[ch]: type conversion added
+	* providers/sybase/gda-sybase-recordset.[ch]: implementation of
+	proceeding row results
+	* providers/sybase/utils.c, providers/sybase/gda-sybase.h: added 
+	logging/error help functions
+	* providers/sybase/Makefile.am: commit of scheduled sybase provider
+
+	* testing/sybase-test.[ch], testing/Makefile.am, testing/client.c:
+	Added sybase provider tests
+
+2002-11-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-init.c (gda_init): removed debug messages.
+
+2002-11-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/xbase/gda-xbase-provider.[ch]: implementation of the
+	GdaServerProvider-based class for the XBase provider.
+
+	* providers/xbase/gda-xbase-database.[ch]: implementation of
+	DBF file access.
+
+	* providers/libmain.c: GModule functions for provider.
+
+	* providers/xbase/Makefile.am: setup for new xbase provider.
+
+	* providers/Makefile.am: added xbase directory to SUBDIRS.
+
+	* configure.in: added providers/xbase directory and test for XBase
+	headers and libraries.
+
+2002-11-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #96810
+
+	* providers/oracle/gda-oracle-provider.c (get_oracle_tables): added
+	missing commas to SQL command.
+
+2002-11-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* data/Makefile.am: EXTRA_DIST XML data.
+
+2002-11-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* data/Makefile.am: EXTRA_DIST the config file.
+
+2002-11-09  Santi Camps <santicamps wanadoo es>
+
+	* data/Makefile.am: install XML files.
+
+2002-11-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #97997
+	
+	* libgda.spec.in: removed obsolete requirements.
+
+2002-11-08  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: save/restore previous memory management functions
+	in libxml.
+
+2002-11-07  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c:
+	(parse_config_file): setup libxml2 memory functions. Ignore other
+	sections than '/apps/libgda/Datasources' (they are not written again to
+	the file). Don't add empty sections.
+	(gda_config_remove_key): when removing a key, remove also the section
+	if it gets empty.
+
+2002-11-07  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: fixed tutorial example. Thanks to
+	calvaris and others for pointing this out.
+	* libgda/gda-row.c: added comment to the documentation of
+	gda_row_get_value.
+
+2002-11-07  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-client.c: check that provider is not null before doing the
+	lookup.
+
+2002-11-05  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: avoid "no DTD" message from libxml.
+
+2002-11-05  Holger Thon <holger thon gnome-db org>
+
+	* configure.in: Added check for sybase OCli in OCS subdir
+
+	* providers/sybase/libmain.c: added LOCALE parameter
+
+	* providers/sybase/gda-sybase-provider.c: added provider_new,
+	shortened open_connection by gda_sybase_connection_data_free,
+	added LOCALE parameter, added debug messages, finished 
+	open_connection
+
+	* providers/sybase/gda-sybase.h, providers/sybase/utils.c:
+	added ocli message callbacks for displaying errors,
+	fixed sybase_debug_msg()
+
+	* providers/sybase/gda-sybase-provider.h:
+	added CS_GDA_VERSION (define for latest detectable cs version)
+
+	* testing/client.c(test_client): fixed connection to be opened
+	with password of GdaDataSourceInfo instead of empty pwd ("")
+
+2002-11-01  Cleber Rodrigues <cleber gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c: added missing mysql_init()
+	on the initialization of the connection structure.
+
+2002-11-01  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.c:
+	setting datamodel column titles of schemas moved to gda-tds-schemas.h
+
+	* providers/freetds/gda-tds-schemas.h:
+	started making schemas compatible with mergeant again
+
+2002-10-30  Holger Thon <holger thon gnome-db org>
+
+	* configure.in: added library collision check against freetds ct,
+	added lookup for ase 12.5 sybase dir, added SYBASE_DIR variable
+
+	* providers/sybase/Makefile.am: removed gda-tds-schemas.h
+	
+	* providers/sybase/gda-sybase-provider.c: added dummy provider
+	functions
+
+	* providers/sybase/gda-sybase.h,
+	providers/sybase/utils.c: added sybase_debug_msg()
+
+	* providers/freetds/*.{c,h}: fixed include of config.h depend on
+	HAVE_CONFIG_H define
+
+	* providers/freetds/gda-tds-schemas.h: added query for server
+	version
+
+2002-10-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.[ch] (gda_connection_new): added
+	GdaConnectionOptions argument.
+	(gda_connection_get_options): new function.
+
+	* libgda/gda-server-provider.[ch]
+	(gda_server_provider_open_connection):
+	* libgda/gda-client.[ch] (gda_client_open_connection,
+	gda_client_open_connection_from_string): added
+	GdaConnectionOptions argument.
+
+	* testing/client.c (open_connection): adapted to changes in
+	gda_client_open_connection.
+
+	* configure.in: changed sonum.
+
+2002-10-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #96810
+
+	* providers/oracle/gda-oracle-provider.c (get_oracle_tables):
+	separated retrieval of table schema, and added all missing fields.
+
+	* providers/mysql/gda-mysql-provider.c (get_mysql_tables): set column
+	titles on the data model being created.
+
+2002-10-29  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.c (get_schema):
+	users schema fixed
+
+	* providers/sybase/Makefile.am,
+	providers/sybase/gda-sybase-provider.{c,h},
+	providers/sybase/gda-sybase.h,
+	providers/sybase/libmain.c: started port of sybase provider
+
+2002-10-29  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libsql/parser.y: a couple of fixes to make bison not to complain.
+
+2002-10-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #95985
+
+	* configure.in: libmystrings is not needed for MySQL provider.
+
+2002-10-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/interbase/gda-interbase-provider.c
+	(gda_interbase_connection_make_error): new function.
+	(gda_interbase_command_get_transaction): new function.
+	(gda_interbase_provider_open_connection): call the above function for
+	any database-related errors.
+	(gda_interbase_provider_create_database): implemented.
+
+	* providers/interbase/gda-interbase-recordset.[ch]: recordset
+	implementation for the Interbase provider.
+
+2002-10-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #96758
+	
+	* libgda/Makefile.am: moved top_srcdir to the top in INCLUDES.
+
+2002-10-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.8.199
+
+2002-10-23  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.c:
+	fixed dlopen() bug which made loading the provider fail with freetds
+	0.6x
+
+	* configure.in: Removed freetds v0.60 warning
+
+2002-10-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/interbase/Makefile.am:
+	* providers/interbase/gda-interbase-provider.[ch]:
+	* providers/interbase/libmain.c: started GNOME 2 version of the
+	Interbase provider.
+
+	* providers/gda-oracle-provider.c (gda_oracle_provider_get_version):
+	(gda_oracle_provider_get_server_version): implemented missing methods.
+
+2002-10-13  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.h: added TDS_CONTEXT (v0.60)
+	to GdaFreeTDSConnectionData struct
+	
+	* providers/freetds/gda-freetds-provider.c: added v0.60 api,
+	fixed compile warnings (unused enums vals in switches),
+	fixed change_database to work within connection_open(),
+	corrected typecast in execute_cmd(),
+	completed error messages in internal execute_cmd()
+	
+	* providers/freetds/gda-freetds-recordset.c: added parameter
+	GdaFreeTDSConnectionData * to set_gdavalue
+	
+	* providers/freetds/gda-freetds-types.{c,h}: added parameter
+	GdaFreeTDSConnectionData * to set_gdavalue,
+	added v0.60 api
+	
+	* acconfig.h, configure.in: added version check for freetds provider
+
+2002-10-12  Alfons <alfons proteus demon nl>
+
+	* libgda/gda-select.c (gda_select_run): use sql_destroy instead of
+	sql_statement_destroy.
+
+2002-10-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-select.c (gda_select_run): commented out call to
+	sql_statement_destroy, since this function seems to be missing in
+	libsql.
+
+2002-10-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-select.c: changed the list of source data models to be
+	a hash table, for better searching. Added 'changed' member to keep
+	track of changes in the data.
+	(free_source_model): new function to free the hash table's items.
+	(gda_select_add_source): added 'name' parameter so that data models
+	are uniquely identified. Set the 'changed' member when actually making
+	a change.
+	(gda_select_set_sql): Set the 'changed' member.
+
+2002-10-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-select.[ch] (gda_select_add_source): new function.
+
+	* libgda/gda-client.[ch]: added support for using it as a connection
+	stack. That is so that clients can make operations (search for a
+	table, run transactions, etc) on a group of connections.
+	(gda_client_begin_transaction, gda_client_commit_transaction,
+	 gda_client_rollback_transaction): support for distributed (many
+	DB connections) transactions.
+	(gda_client_open_connection): removed unused variable.
+
+	* doc/C/tmpl/*: updated.
+
+2002-10-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	Fixes #94845
+	
+	* configure.in: made use of scrollkeeper optional.
+
+2002-10-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-field.[ch] (gda_field_attributes_copy): new function.
+
+	* libgda/gda-select.[ch]: modified to accept a list of data models
+	and to work with SQL commands and not expressions.
+
+2002-10-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* tools/Makefile.am: autoconf does not support EXTRA_DIST to be
+	defined conditionally.
+
+2002-09-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/libgda-C.omf.in: fixed path to documentation.
+
+2002-09-30  Stanislav Brabec  <sbrabec suse cz>
+
+	* configure.in: Added cs to ALL_LINGUAS.
+
+2002-09-29  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/Makefile.am: install man page.
+	* tools/gda-config-tool.1: initial man page for gda-config-tool. Still
+	need to document the usage in interactive mode.
+
+2002-09-28  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* configure.in: fixed variable name and added /usr/local to SQLite
+	auto-search. Thanks to Vladimir Vukicevic.
+
+2002-09-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* bindings/c++/*: removed obsolete bindings. Current ones are in gtkmm
+	sources, for which we need a volunteer.
+
+2002-09-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (emit_client_error): new function for emitting
+	error signals on the GdaClient objects.
+	(gda_client_open_connection): call emit_client_error everytime there
+	is an error, so that clients really get informed.
+
+	* doc/libgda-C.omf.in: validated this file (thanks to Frederic Crozat)
+
+2002-09-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/sqlite/gda-sqlite-provider.c
+	(gda_sqlite_provider_supports): we also support triggers.
+	(get_types): implemented types schema.
+	(get_tables): implemented tables schema.
+	(get_table_fields): implemented fields schema.
+
+	* providers/sqlite/gda-sqlite-provider.c (get_row): get correctly
+	the fields' values from the SQLITEresult structure.
+	(gda_sqlite_recordset_describe_column): set more properties on the
+	returned GdaFieldAttributes.
+
+2002-09-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/sqlite/gda-sqlite-provider.c
+	(gda_sqlite_provider_get_version,
+	 gda_sqlite_provider_get_server_version,
+	 gda_sqlite_provider_change_database): implemented missing methods.
+	(gda_sqlite_provider_open_connection): free all memory if there are
+	errors.
+	(gda_sqlite_provider_close_connection): add an error to the connection
+	when there are errors.
+	(gda_sqlite_provider_execute_command): process correctly lists of
+	colon-separated table names for GDA_COMMAND_TYPE_TABLE.
+	(gda_sqlite_provider_begin_transaction,
+	 gda_sqlite_provider_commit_transaction,
+	 gda_sqlite_provider_rollback_transaction): implemented.
+	(gda_sqlite_provider_single_command): deal correctly with return value
+	of sqlite_exec.
+	(gda_sqlite_provider_supports): added missing features.
+
+2002-09-22  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: fixed a couple of leaks.
+
+2002-09-18  Vivien Malerba <malerba gnome-db org>
+	* libgda/gda-value.[ch]: changed the _xml functions to work
+	with xmlNodePtr instead of gchar *
+	* providers/postgres/gda-postgres-provider.c: bug fix for NULL
+	default value for a field
+
+2002-09-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/libgda-report/gda-report-document.[ch]: fixed public
+	functions' names.
+
+2002-09-15  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.c: fixed compile error
+
+2002-09-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-init.c:
+	(gda_main_run): use g_main_loop_run.
+
+	* libgda/gda-value.c: 
+	(gda_value_new_from_xml): avoid compiler warning.
+
+2002-09-14  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.c: coding style corrections,
+	implemented change_database
+	
+	* providers/freetds/gda-freetds-provider.h: added database to freetds
+	connection handle
+	
+	* providers/freetds/gda-tds-schemas.h:
+	corrected databases schema
+
+2002-09-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (add_aggregate_row): add
+	missing information to the returned data model (although still with
+	some undefined values).
+	(get_mysql_aggregates): adapted to changes in add_aggregate_row().
+
+	* doc/C/libgda-docs.sgml: added information about the DATABASES schema
+
+2002-09-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch] (gda_value_new_from_xml): new function.
+	(gda_value_to_xml): new function.
+
+2002-09-11  Carlos Perello Marin <carlos gnome-db org>
+
+	* configure.in (ALL_LINGUAS): Added ko
+
+2002-09-11  Xabier Rodriguez Calvar <xrcalvar igalia com>
+
+	* doc/C/libgda-docs.sgml: small change in compilation instructions.
+
+2002-09-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.8.193
+
+2002-09-07  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: extended compilation section.
+
+2002-09-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.c (gda_connection_new): no need to make a copy
+	of the error list.
+
+2002-09-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.c (gda_connection_new): if the provider sets
+	errors on connecting, notify the client about those errors by emitting
+	its "error" signal.
+
+2002-09-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mdb/gda-mdb-provider.c (gda_mdb_provider_get_version):
+	(gda_mdb_provider_get_server_version): implemented missing methods.
+
+2002-09-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_get_provider_list): use
+	G_MODULE_SUFFIX instead of using ".so" directly.
+
+2002-09-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-database.c (gda_xml_database_save): implemented.
+	(gda_xml_database_new_from_data_model): check return value from
+	gda_table_new_from_model.
+	(gda_xml_database_new_table_from_node): type is stored as a string
+	in the XML. Scan more properties.
+
+	* libgda/gda-data-model.[ch] (gda_data_model_to_xml_node): new
+	function for converting data models to xmlNodePtr's.
+
+	* providers/default/gda-default-provider.c (process_table_commands):
+	new function for managing GDA_COMMAND_TYPE_TABLE commands.
+	(gda_default_provider_execute_command): implemented case for TABLE
+	commands.
+
+2002-08-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added summary at the end, to display all detected
+	options/providers.
+
+2002-08-30  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/utils.c: removed unneeded case.
+
+2002-08-30  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/gda-config-tool.c: added copyright notice.
+
+2002-08-29  Vivien Malerba <malerba gnome-db org>
+	* libgda/gda-value.c: fixed a bug in the tests for the gda_value_compare () function
+
+2002-08-27  Richard Campbell <richard campbell oarcorp com>
+
+	* providers/default/gda-default-provider.c
+	(gda_default_provider_supports): fixed if condition.
+
+2002-08-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch] (gda_value_is_number): new function.
+
+	* libgda/gda-field.[ch] (gda_field_attributes_get_auto_increment):
+	(gda_field_attributes_set_auto_increment):
+	(gda_field_attributes_get_table):
+	(gda_field_attributes_set_table): new functions.
+
+	* providers/mysql/gda-mysql-recordset.c
+	(gda_mysql_recordset_describe_column): use 'length' field of the
+	MYSQL_FIELD structure, not 'max_length'. Set missing attributes on the
+	list of fields.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_create_database): use a CREATE DATABASE SQL query
+	instead of calling mysql_create_db.
+	(gda_mysql_provider_drop_database): use a DROP DATABASE SQL query
+	instead of calling mysql_drop_db.
+
+2002-08-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.h: added a new field to GdaValue structure, for
+	storing the length of binary values.
+
+	* libgda/gda-value.c (gda_value_new_binary): added 'glong size' argument
+	to the function, and implemented it.
+	(gda_value_copy): implemented case for binary values.
+	(gda_value_set_from_value): likewise.
+	(gda_value_stringify): likewise.
+	(set_from_string): likewise.
+	(gda_value_get_binary): implemented.
+	(gda_value_set_binary): implemented.
+
+	* providers/mysql/gda-mysql-recordset.c (fetch_row): use max_length
+	field to determine the length of the BLOB values.
+
+	* doc/libgda-C.omf: removed this file, which is generated from
+	* libgda-C.omf.in.
+
+2002-08-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_begin_transaction): set the isolation level for
+	the transaction.
+
+	* testing/client.c (open_connection): create a GdaTransaction for
+	passing it to transaction methods.
+
+	* libgda/gda-transaction.[ch]: added isolation level support.
+	(gda_transaction_get_isolation_level): new function.
+	(gda_transaction_set_isolation_level): new function.
+
+2002-08-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (get_mysql_tables): set the
+	owner to an empty string instead of "Unknown".
+	(get_table_fields, field_row_to_value_list): added 'default value' field.
+	(add_aggregate_row): renamed from add_string_row. Still missing the
+	addition of the missing columns.
+
+2002-08-23  Richard Campbell <richard campbell oarcorp com>
+
+	* doc/C/Makefile.am: fixed connection string description for the
+	default provider (FILENAME->URI).
+	
+2002-08-23  Margus VÂÃÂÂli <mvali hot ee>
+
+	* report/libgda-report/Makefile.am: link libgda-report with libgda-2,
+	for cygwin compilation.
+
+2002-08-22  Vivien Malerba <malerba gnome-db org>
+
+	* libgda-docs.sgml: updated the schemas
+	* providers/postgres/gda-postgres-provider.c: set the schemas in sync
+	with the docs
+
+2002-08-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch] (gda_value_get_type): made this a function,
+	not a #define.
+
+2002-08-21  Vivien Malerba <malerba gnome-db org>
+
+	* gda-value.[hc]: modified the implementation of the
+	gda_value_get_vtype() function to return the type held into the value
+	and not the type of the value (there is already a gda_value_get_type()
+	macro for that), and added a gda_value_set_vtype() function.
+	* providers/postgres/gda-postgres-provider.c: improved some schemas.
+
+2002-08-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.spec.in:
+	* Makefile.am: added missing lines in last Ben's patch.
+
+2002-08-21  Vivien Malerba <malerba gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.[hc]: modified some schemas
+	to more closely return sets as described in the documentation.
+
+2002-08-19  Ben Liblit  <liblit acm org>
+
+	* configure.in: assume that the readline library depends upon the
+	curses library
+
+	* libgda.spec.in: fix version number substitutions
+
+	* libgda.spec.in: remove some explicit "Requires:" prerequisites
+	that RPM will figure out on its own; remove explicit dependency on
+	older MySQL client libraries
+
+	* libgda.spec.in: require that the ODBC development package be
+	installed if we are building the ODBC provider
+
+	* libgda.spec.in: create distinct subpackages for each provider,
+	conditional on that provider actually being enabled; some of these
+	will need to be updated as the family of available providers
+	changes
+
+	* libgda.spec.in: update files list to match what "make install"
+	actually installs
+
+	* Makefile.am: no need to explicitly list "*.in" files for
+	distribution, as automake takes care of these implicitly; use
+	standard $(EXTRA_DIST) list for distributing spec file
+
+2002-08-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-provider.c
+	(gda_default_provider_get_database): new class method.
+	
+2002-08-18  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: implemented
+	get_server_version.
+
+	* providers/postgres/gda-postgres-provider.h: added version to
+	private connection data.
+
+	* testing/client.c: display server version.
+
+2002-08-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-provider.c
+	(gda_default_provider_get_version): new method.
+	(gda_default_provider_get_server_version): new method.
+
+2002-08-18  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.c:
+	(gda_freetds_provider_get_version): return gda version
+	(gda_freetds_provider_get_version): FIXME: dummy, returns NULL
+
+2002-08-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-provider.[ch] (gda_server_provider_get_version):
+	new function.
+	(gda_server_provider_get_server_version): new function.
+
+	* libgda/gda-connection.c (gda_connection_add_error_string): set error
+	source to be the name of the provider, not the program name.
+	(gda_connection_get_server_version): new function.
+
+	* providers/mysql/gda-mysql-provider.c
+	 (gda_mysql_provider_get_version,
+	  gda_mysql_provider_get_server_version):
+	* providers/postgres/gda-postgres-provider.c
+	 (gda_postgres_provider_get_version,
+	  gda_postgres_provider_get_server_version): implemented new class
+	methods.
+
+2002-08-16  Holger Thon <holger thon gnome-db org>
+
+	* libgda/providers/ibmdb2/core{1,2}.log:
+	* libgda/providers/ibmdb2/TODO:
+	added corelogs, added SIGSEGV problem to TODO to remember
+	* libgda/providers/ibmdb2/TODO:
+	todo added
+
+	* libgda/gda-client.c:
+	* libgda/gda-data-model.c:
+	* libgda/gda-select.c:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-xml-connection.c:
+	* libgda/gda-xml-database.c:
+	* libgda/gda-xql-delete.c:
+	* libgda/gda-xql-dml.c:
+	* libgda/gda-xml-document.c:
+	* libgda/gda-xql-insert.c:
+	* libgda/gda-xql-select.c:
+	* gda-xql-update.c:
+	added string.h include
+	
+	* libgda/gda-value.c:
+	added libgda/gda-util.h include
+	
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-recordset.c: added string.h to includes
+	* providers/mysql/libmain.c: fixed compile warnings
+
+	* providers/ibmdb2/gda-ibmdb2-provider.c
+	* (gda_ibmdb2_provider_open_connection): fixed cleanup on error
+	fixed passing connection data to GdaConnection object
+
+2002-08-16  Holger Thon <holger thon gnome-db org>
+
+	* ChangeLog: added missing entries
+
+2002-08-15  Holger Thon <holger thon gnome-db org>
+
+	* providers/ibmdb2/gda-ibmdb2-provider.c:
+	* providers/ibmdb2/libmain.c: fixed host parameter to alias 
+	(database dsn), alias connections finished
+	
+	* providers/ibmdb2/gda-ibmdb2-provider.{c,h}: added get_database()
+
+2002-08-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/Makefile.am: added fdl-appendix.sgml to $content_files, so
+	that it gets included when distcheck'ing.
+
+2002-08-14  Holger Thon <holger thon gnome-db org>
+
+	* configure.in: added IBMDB2_DIR define; perhaps for dbaliases
+	in cfg/db2cli.ini
+
+	* providers/freetds/gda-freetds.h:
+	* providers/freetds/gda-freetds-provider.{c,h}:
+	* providers/freetds/gda-freetds-recordset.c: added sanity checks 
+	for correct provider in dummy functions, moved sql queries for 
+	schemas into separate header file, separated freeing on error 
+	during connection_open into free_connection_data
+	
+	* providers/freetds/gda-freetds-message.{c,h}: added 
+	gda_freetds_message_add() for appending to msg/err GPtrArray
+	* providers/freetds/Makefile.am: Added dependency for schema 
+	include file
+	* providers/freetds/gda-tds-schemas.h: Moved schema queries into 
+	header file for future include by sybase provider
+
+	* providers/ibmdb2/gda-ibmdb2-provider.{c,h}: started work on
+	connection code
+
+	* providers/freetds/gda-freetds-provider.c: Added extended remote
+	procedures to schema, corrected users schema, set column name for
+	views schema
+
+	* configure.in: removed stale tds lines commented out
+	added ibmdb2 cli checks
+	
+	* acconfig.h: Added IBMDB2 define
+	* providers/Makefile.am: Added ibmdb2 directory
+	* providers/ibmdb2/.cvsignore: added .cvsignore
+	* providers/ibmdb2/Makefile.am: replaced dummy Makefile.am with
+	provider Makefile.am
+
+	* providers/ibmdb2/gda-ibmdb2.h:
+	* providers/ibmdb2/gda-ibmdb2-provider.{c,h}:
+	* providers/ibmdb2/libmain.c:
+	* providers/ibmdb2/utils.c: added skeleton for ibmdb2 provider
+	
+	* providers/ibmdb2/Makefile.am: added dummy Makefile.am
+
+2002-08-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch] (gda_value_get_vtype): new function.
+
+2002-08-11  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/gda-freetds-provider.c: Fixed _supports()
+	* providers/freetds/gda-freetds-types.c: Added datetim* types,
+	Added numeric types
+	* providers/freetds/gda-freetds-provider.c: Added users schema,
+	added procedures schema
+
+2002-08-10  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/config.sample: sample xml snipplet of freetds
+	configuration
+	
+	* configure.in: enabled freetds compilation in configure.in
+	
+	* providers/freetds/gda-freetds-provider.c: fixed field schema 
+	nullable
+
+	* providers/freetds/gda-freetds.h:
+	* providers/freetds/gda-freetds-provider.{c,h}: fixed sqlstate in 
+	message handler, changed TDSSOCKET *socket to shorter TDSSOCKET *tds
+	
+	
+	* providers/freetds/Makefile.am: added gda-freetds-message.{c,h}
+	* providers/freetds/gda-freetds-message.{c,h}: Added message_new()
+	and _free() to pass callback msgs list to cnc
+	* providers/freetds/gda-freetds-provider.c: added error handling 
+	routines using global tds callbacks
+	* providers/freetds/gda-freetds-types.c: Added single and double types
+	
+	* libgda/gda-value.c (gda_value_stringify):
+	Added GDA_VALUE_TYPE_TINYINT (tinyint fix)
+	
+	* testing/freetds-test.c: removed insert test
+
+2002-08-09  Xabier Rodriguez Calvar <xrcalvar igalia com>
+
+	* doc/C/libgda-docs.sgml: spelling fixes and migration formulae
+	section added.
+
+2002-08-09  Holger Thon <holger thon gnome-db org>
+
+	* testing/Makefile.am:
+	* testing/client.c:
+	* testing/freetds-test.c:
+	* testing/freetds-test.h: started work on freetds specific tests
+	
+	* providers/freetds/gda-freetds.h:
+	* providers/freetds/gda-freetds-provider.c:
+	* providers/freetds/gda-freetds-recordset.c:
+	* providers/freetds/utils.c: completed integer implementation
+	FIXME: tinyint does not work
+
+	* providers/freetds/gda-freetds-provider.c: added tables schema, 
+	started on fields schema
+	changed sanity check order in open_connection()
+	some internalization fixes
+
+	* providers/freetds/Makefile.am: Added gda-freetds-types.* for 
+	compilation
+
+	* providers/freetds/gda-freetds-recordset.c: duped TDSCOLINFO 
+	information for describe_column(), implemented describe_column()
+	
+	* providers/freetds/gda-freetds-recordset.h: a single fields' data 
+	is now set by gda_freetds_set_gdavalue()
+	
+	* providers/freetds/gda-freetds.h: added gda-freetds-types.h to 
+	included files
+	
+	* providers/freetds/gda-freetds-types.c: Implementation of TDS 
+	string types
+
+	* providers/freetds/gda-freetds-types.h: SQL- and GdaValue feeding
+	started
+	
+
+2002-08-08  Holger Thon <holger thon gnome-db org>
+	
+	* providers/freetds/.cvsignore: removed output files of old API
+	
+	* providers/freetds/gda-freetds-recordset.{c,h}:
+	very basic implementation of recordset klass/result processing,
+	completed gda_freetds_recordset_get_n_rows, _get_n_columns,
+	_get_row, _get_value_at
+	
+	* providers/freetds/gda-freetds-provider.{c,h}:
+	Completed connection (tested: freetds 0.53/TDS42/Sybase 11.9.2)
+	sql-capability added, gda_freetds_provider_process_sql_commands added
+	database schema completed
+	
+	* providers/freetds/gda-freetds.h: added gda-freetds-recordset.h
+	include, added gda_freetds_split_commandlist() definition
+	
+	* providers/freetds/libmain.c: Changed dsn-parameters
+	from TDS* to TDS_*
+
+	* providers/freetds/utils.c: Added gda_freetds_split_commandlist()
+	for split of sql commandlists
+	FIXME: function needs debugging
+
+	* providers/freetds/Makefile.am: Added gda-freetds-recordset.*
+
+2002-08-07  Xabier Rodriguez Calvar <xrcalvar igalia com>
+
+	* doc/C/Makefile.am:
+	* doc/C/libgda-docs.sgml: added new documentation with full source
+	code example.
+
+2002-08-07  Holger Thon <holger thon gnome-db org>
+
+	* providers/freetds/Makefile.am: Added Makefile.am
+	* providers/freetds/gda-freetds.h:
+	* providers/freetds/gda-freetds-provider.c:
+	* providers/freetds/utils.c: fixed some typos
+	
+	* configure.in: Updated checks for freetds to use tds.h,
+	freetds disabled unless /etc/freetds/compile_gda_tds_provider exists
+
+	* providers/Makefile.am:
+	* providers/freetds/gda-freetds.h:
+	* providers/freetds/gda-freetds-provider.{c,h}:
+	* providers/freetds/libmain.c:
+	* providers/freetds/utils.c: Changed TDS vars to FREETDS, 
+	Added skeleton for gda-freetds-provider.*
+	
+	* acconfig.h:
+	* configure.in: Changed TDS vars to FREETDS
+	
+	* providers/freetds/.cvsignore: updated ignore file
+
+2002-08-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/libgda-C.omf.in: added OMF file.
+
+	* configure.in:
+	* doc/Makefile.am: added rules to install OMF file.
+
+2002-08-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.c (gda_data_model_get_column_title): if we
+	don't have the title, call @describe_column.
+	(gda_data_model_set_column_title): if the key already exists, remove
+	it from the hash table before re-adding it again.
+
+	* providers/mysql/gda-mysql-recordset.c
+	(gda_mysql_recordset_describe_column): use mysql_fetch_fields, not
+	mysql_fetch_field, or we'll get unknown results.
+	(gda_mysql_recordset_new): set column titles on the data model.
+
+2002-08-04  Florian Blaser <florian tizoo ch>
+
+	* doc/C/libgda-docs.sgml: some small corrections.
+
+2002-07-17  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/gda-config-tool.c: added options for listing datasources and
+	providers.
+	(batch_options): fixed section name.
+
+2002-07-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-recordset.c: set number of rows to
+	PQcmdTuples for non-select queries. Thanks to JosÂÃÂÂ Dapena Paz.
+	Fixes bug #87762.
+
+2002-07-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: set client encoding
+	for postgres to UNICODE. Thanks to Dmitry G. Mastrukov.
+
+2002-07-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: added documentation about the format of
+	the schema data models.
+
+	* libgda/gda-value.h: added GDA_VALUE_TYPE_TYPE, for specifying
+	GdaValueType's in GdaValue's.
+
+	* libgda/gda-value.c (gda_value_new_type): new function.
+	(set_from_string): manage GDA_VALUE_TYPE_TYPE.
+	(gda_value_copy): ditto.
+	(gda_value_set_from_value): ditto.
+	(gda_value_stringify): ditto.
+	(gda_value_compare): ditto.
+
+	* providers/mysql/gda-mysql-provider.c (get_mysql_tables): retrieve
+	extra data.
+	(get_mysql_types): added new fields for TYPES schema.
+
+	* providers/mysql/gda-mysql-recordset.c (fetch_row): don't pass NULL
+	values to ato* functions.
+
+2002-07-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.8.192
+
+2002-07-04  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c:
+	(write_config_file): removed unneeded assertion. It now creates an
+	empty file if no sections in the list.
+
+2002-07-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.c (gda_connection_get_type): fixed
+	documentation for this function.
+
+2002-06-28  Tim Coleman <tim timcoleman com>
+
+	* providers/oracle/gda-oracle-provider.c:
+	- Added code to retrieve public/unique/foreign key information
+	  for schema purposes.
+	- Free up more Oracle memory when bad things happen
+	- Added a function to retrieve list of Oracle tablespaces
+	  for schema purposes.
+	  
+	* providers/oracle/gda-oracle-recordset.c:
+	- Free up more Oracle memory when bad things happen
+	- Clean up the get_n_rows code to work properly
+
+	* providers/oracle/utils.c:
+	- only allocate memory for the string buffer when I need it
+
+2002-07-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-connection.c:
+	(gda_connection_finalize):
+	(gda_connection_add_error):
+	(gda_connection_add_error_list): keep the error list stored for later
+	retrieval. Use gda_error_list_(copy|free).
+
+	(gda_connection_get_errors): returns a the latest error(s) ocurred in
+	the connection.
+	
+	* libgda/gda-connection.h: added prototype for
+	gda_connection_get_errors ().
+
+	* libgda/gda-error.c:
+	(gda_error_list_copy): makes new copy of a GList of GdaError by using
+	g_list_copy and then g_object_ref on the data.
+
+	(gda_error_list_free): use g_list_foreach.
+
+	* libgda/gda-error.h: added prototype for gda_error_list_copy.
+
+2002-06-25  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c:
+	(gda_config_save_data_source): copied from gnome-db-config.c.
+
+	* libgda/gda-config.h: added GDA_CONFIG_BASE.
+
+2002-06-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libsql/Makefile.am: missing header files to SOURCES.
+
+	* providers/mysql/Makefile.am:
+	* providers/odbc/Makefile.am:
+	* providers/oracle/Makefile.am:
+	* providers/postgres/Makefile.am:
+	* providers/mdb/Makefile.am: fixed INCLUDES path.
+
+	* providers/oracle/gda-oracle-provider.c (get_oracle_objects): fixed
+	call to g_string_free.
+
+	* testing/client.c: s/SQL Language/SQL.
+
+2002-06-20  Tim Coleman <tim timcoleman com>
+
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/oracle/gda-oracle-recordset.c:
+	Implement a consistent error handling style.
+	* providers/oracle/gda-oracle.h:
+	Add error handling functions.
+	Fix the retrieval of dates, which was a small bug.
+
+2002-06-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libsql/Makefile.am: EXTRA_DIST needed files, or make distcheck
+	won't work.
+
+2002-06-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* Makefile.am: put libsql in the correct order.
+
+	* libsql/Makefile.am: removed hard-coded stuff, and install stuff in
+	$(includedir)/libgda/sql, not $(includedir)/bond.
+
+2002-06-18  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* configure.in: use AC_PROG_YACC instead of AM_PROG_YACC
+
+	* libsql/Makefile.am: changed $(include) by $(includedir)
+
+2002-06-18  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: create configuration dir and file if they don't
+	exist.
+
+2002-06-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/oracle/gda-oracle-connection.[ch]: removed unused files.
+
+2002-06-18  Andrew Hill <andru treshna com>
+
+	* libsql/: Import SQL parser into libgda.  the test programme 
+	sql_parser_test can be used to test sql statements. 
+	* libsql/sample_sql_statements: List of SQL statements to test.
+	* libsql/sql_parser.[ch]: API to libsql
+	* libsql/sql_display.c: For debugging purposes, breaks down
+	a SQL statement into a tree like display.
+	* libsql/paser.y: bison code
+	* libsql/lexer.l: bison code
+	* libsql/sql_parse_test.c: sql_parser_test code to test sql
+	* libsql/mem.[ch]: Memory debugging and tracking code, similar
+	to glib but with a few little extras and designed to work with
+	the parser for garbage collection etc.
+	* libsql/sqltree.[ch]: Code used for building and parsing the 
+	sql tree (the more complex SQL statements).  
+	* libsql/Makefile.am autoconf makefile for generating libgdasql 
+	library.
+	* Makefile.am: Adding in libsql directory for compiling
+	* configure.in: Have Makefile generated for libsql/Makefile.am
+
+2002-06-17  Tim Coleman <tim timcoleman com>
+
+	* providers/oracle/gda-oracle.h:
+	* providers/oracle/gda-oracle-provider.c:
+	* providers/oracle/gda-oracle-provider.h:
+	* providers/oracle/gda-oracle-recordset.c:
+	* providers/oracle/gda-oracle-recordset.h:
+	* providers/oracle/utils.c: Various changes to update GDA oracle
+	  provider to properly retrieve data, support transactions (untested)
+	  and parameters for queries.
+
+2002-06-17  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* doc/C/tmpl/gda-command.sgml: Automatic update.
+	* doc/C/tmpl/gda-parameter.sgml: ditto.
+	* doc/C/tmpl/gda-report-document.sgml: ditto.
+	* doc/C/tmpl/gda-value.sgml: ditto.
+	* providers/sqlite/Makefile.am: Added utils.c
+	* providers/sqlite/gda-sqlite-provider.c: Updated to the new
+	architecture. It's not finished... Based on postgresql provider.
+	* providers/sqlite/gda-sqlite-recordset.c: ditto.
+	* providers/sqlite/gda-sqlite-recordset.h: ditto.
+	* providers/sqlite/gda-sqlite.h: ditto.
+	* providers/sqlite/libmain.c: ditto.
+	* providers/sqlite/utils.c: Added for help funtions
+  
+2002-06-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/sqlite/Makefile.am: added missing INCLUDES.
+
+	* libgda/gda-parameter.[ch] (gda_parameter_list_get_names): new
+	function to get the names of all parameters in the parameter list.
+
+	* libgda/gda-command.[ch] (gda_command_get_transaction):
+	(gda_command_set_transaction): new functions.
+	(gda_command_new): initialize new member.
+	(gda_command_free): unref internal GdaTransaction.
+
+	* libgda/gda-connection.h:
+	* libgda/gda-transaction.h: fixed headers.
+
+2002-06-08  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/gda-config-tool.c: added command line options that make
+	posible create a new section and add/modify user, password and DSN.
+
+2002-06-07  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-data-model.c:
+	(describe_column): try to set the type of the column if possible when
+	generating a default GdaFieldAttributes.
+
+	* libgda/gda-value.c:
+	(gda_value_isa): removed.
+	(gda_value_stringify): use a switch.
+
+	* libgda/gda-value.h: added macro gda_value_get_type and gda_value_isa.
+
+2002-06-06  Tim Coleman <tim timcoleman com>
+
+	* providers/oracle/*: first working version of the Oracle provider
+	for the new API.
+
+2002-06-06  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: 
+	(get_postgres_parent_tables): new function.
+
+	* testing/postgres-test.c: added test SCHEMA_PARENT_TABLES.
+	(execute_non_query): new function used for all the queries except
+	SELECT.
+
+2002-06-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.h: added PARENT_TABLES schema.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_change_database): implemented new class method.
+
+2002-06-03  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* gda-config.c: don't write mtime, muser.
+
+2002-06-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-quark-list.[ch] (gda_quark_list_remove): new function.
+
+	* libgda/gda-connection.c (gda_connection_new): remove entries
+	we managed from the parameter list, so that providers dont' have
+	to parse it again.
+
+	* libgda/gda-server-provider.c (gda_server_provider_open_connection):
+	likewise.
+
+	* libgda/gda-client.c (gda_client_open_connection_from_string):
+	new function. Fixes #81592.
+
+2002-06-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: check for all providers unless --without-* arguments
+	are used.
+
+	* libgda/gda-server-provider.[ch]: added change_database virtual
+	method to GdaServerProvider class.
+	(gda_server_provider_change_database): new function.
+
+	* libgda/gda-connection.[ch] (gda_connection_change_database): new
+	function.
+
+	* doc/C/libgda-docs.sgml: added reference to new virtual method to
+	be implemented for providers.
+
+	* providers/oracle/gda-oracle-connection.[ch]: compilation fixes.
+
+2002-06-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.[ch]:
+	* libgda/gda-server-provider.[ch]:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/default/gda-default-provider.c:
+	* providers/mdb/gda-mdb-provider.c:
+	* providers/postgres/gda-postgres-provider.c: use GdaTransaction for
+	transaction related methods.
+
+	* libgda/gda-transaction.[ch]: new class.
+
+	* libgda/Makefile.am:
+	* libgda/libgda.h: added new API file.
+
+2002-06-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.c (gda_connection_new): use the correct
+	pointers, or it'll crash.
+
+2002-06-03  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.[ch]: 
+	(gda_config_get_type): new function to get the type of an entry.
+
+	(gda_config_has_key):
+	(gda_config_has_section): also look for section/keys in global data.
+	
+	(gda_config_read_entries): When reading from the configuration file,
+	set the value to "" if it is NULL.
+
+2002-06-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_get_data_source_list): retrieve
+	password from configuration.
+	(gda_config_copy_data_source_info): copy the new member.
+	(gda_config_free_data_source_info): free the new member.
+	(gda_config_get_data_source_model): added 'Password' column to the
+	data model we create.
+	(gda_config_save_data_source): store the password if it is set.
+	Reverted last Gonzalo's change, since it was wrong.
+
+	* libgda/gda-connection.c (gda_connection_new): pass over the
+	correct user name/password, either from the user supplied values,
+	or from the configuration itself.
+
+	* doc/C/libgda-docs.sgml: added more documentation about the
+	configuration file format.
+
+2002-06-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: little fixes in gda_config_save_data_source
+	(cut&paste errors).
+
+2002-06-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* configure.in: check for headers needed by gda-config-tool.
+
+	* tools/Makefile.am: don't try to build gda-config-tool if needed 
+	headers and/or libs not found.
+
+2002-06-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/gda-config-tool.c: added support for writing the configuration
+	to a file.
+
+2002-06-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* tools/Makefile.am: build gda-config-tool only if all needed
+	libraries are found in configure.
+
+2002-06-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/gda-config-tool.c: fixed leaks. Beautified help output.
+	Added support for adding/editing an entry.
+
+2002-06-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* configure.in: added check for readline/history and popt.
+
+	* tools/Makefile.am: 
+	* tools/gda-config-tool.c: new command line utility to manage libgda 
+	configuration file and use the providers. Still needs some loving.
+
+2002-05-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: completed the part about implementing the
+	data model class in providers and removed CORBA references.
+
+2002-05-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: added new methods to 'Writing providers'
+	part.
+
+2002-05-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml:
+	* doc/C/tmpl/gda-report-types.sgml: added new template.
+
+	* libgda/gda-server-provider.[ch]: added get_database virtual method.
+	(gda_server_provider_get_database): new method.
+
+	* libgda/gda-connection.[ch] (gda_connection_get_database): new
+	function.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_get_database): implemented new method.
+	(gda_mysql_provider_create_database): use mysql_create_db.
+	(gda_mysql_provider_drop_database): use mysql_drop_db.
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_get_database): implemented new method.
+
+2002-05-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.[ch] (gda_connection_execute_non_query):
+	new function for executing a command and returning the number of
+	rows affected.
+
+2002-05-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: moved the API reference for
+	GdaServerProvider to the provider implementation section.
+
+2002-05-26  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: added some more doc.
+
+2002-05-26  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/libgda-report/Makefile.am: Added gda-report-type.h.
+	* report/libgda-report/gda-report-document.c: Added all its properties
+	and implemented it's _get && _set functions. We need to implement now
+	it's ParamSpec interface.
+	* report/libgda-report/gda-report-document.h: ditto.
+	* report/libgda-report/gda-report-types.h: Added all report types.
+
+2002-05-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.8.191
+
+2002-05-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.[ch] (gda_client_open_connection_from_string):
+	added new stub with a big FIXME on it.
+	Added some documentation.
+
+2002-05-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.h: added GDA_CONNECTION_FEATURE_INHERITANCE,
+	needed for porting gASQL.
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_supports): we support inheritance, yeah.
+
+2002-05-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/libgda-report/Makefile.am: fixed INCLUDES.
+
+2002-05-21  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/idl/*: Removed. It's not needed anymore because we don't
+	use CORBA here.
+
+2002-05-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-provider.[ch]: added drop_database virtual
+	method to GdaServerProvider class.
+	(gda_server_provider_class_init): initialize new class member.
+	(gda_server_provider_drop_database): new proxy function.
+
+	* libgda/gda-connection.[ch] (gda_connection_drop_database): new
+	function.
+
+	* providers/mysql/gda-mysql-provider.c
+	(gda_mysql_provider_drop_database):
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_drop_database): implemented new method.
+
+2002-05-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-connection.[ch]: new class for managing
+	.connection files, which are XML files that specify all parameters
+	needed to open a connection.
+
+	* libgda/libgda.h:
+	* libgda/Makefile.am:
+	* docs/C/*: added new API file.
+
+2002-05-20  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: don't create a new section for each entry
+	added (one-liner).
+
+2002-05-19  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-data-model-hash.c: 
+	(gda_data_model_hash_get_value_at): use gda_data_model_hash_get_row.
+	
+	* providers/postgres/gda-postgres-recordset.c: added gda_postgres_recordset_get_row and changed
+	get_value_at to use it.
+
+2002-05-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/client.c (open_connection): added tests for all missing
+	GdaConnection's features.
+
+	* libgda/gda-row.[ch] (gda_row_new_from_list): new function.
+
+	* libgda/gda-data-model-hash.c (gda_data_model_hash_append_row):
+	* libgda/gda-data-model-array.c (gda_data_model_array_append_row):
+	call gda_row_new_from_list.
+
+	* providers/mysql/gda-mysql-recordset.c: made it editable (only
+	append_row so far).
+	(gda_mysql_recordset_is_editable): return TRUE if the command type
+	is GDA_COMMAND_TYPE_TABLE, for others, return FALSE.
+	(gda_mysql_recordset_append_row): implemented.
+
+	* providers/mysql/gda-mysql-provider.c (process_sql_commands): set
+	data model's command text and type.
+	(gda_mysql_provider_execute_command): likewise.
+
+	* providers/mysql/utils.c (gda_mysql_value_to_sql_string): new
+	function.
+
+2002-05-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_remove_row):
+	* libgda/gda-data-model-list.c (gda_data_model_list_remove_row):
+	implemented remove_row method.
+
+	* libgda/gda-data-model-hash.c (gda_data_model_hash_append_row):
+	proxy the call to gda_data_model_hash_insert_row, using the length
+	of the model as the row number.
+
+	* libgda/gda-value.[ch] (gda_value_set_from_value): new function.
+
+2002-05-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch]: added remove_row and update_row
+	virtual methods.
+	(gda_data_model_class_init): initialize new members.
+	(gda_data_model_remove_row): new function.
+	(gda_data_model_update_row): new function.
+
+2002-05-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/Makefile.am: re-added libgda-report directory to gtk-doc
+	options.
+
+2002-05-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model-list.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-data-model-hash.c:
+	* libgda/gda-data-model.[ch]: added 'get_row' method to
+	GdaDataModel class.
+
+	* libgda/gda-select.c (fill_data): implemented retrieval of data
+	from the source data model.
+
+	* providers/mysql/gda-mysql-recordset.c (gda_mysql_recordset_get_row):
+	new method implementation.
+
+2002-05-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-select.[ch]: added basic implementation.
+	(gda_select_init): create GScanner object.
+	(gda_select_finalize): destroy GScanner object.
+	(gda_select_set_source): new function.
+	(gda_select_set_expression): new function.
+	(gda_select_run): new function.
+	(fill_data): implemented basic parsing of the expression (it only
+	supports "foo=bar AND bar=foo..." expressions).
+
+2002-05-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.c (gda_data_model_begin_edit): don't start
+	editing if the data model is not editable.
+	(gda_data_model_get_column_position): new function.
+
+	* libgda/gda-select.[ch]: new class for doing filtering data models
+	based on a search expression.
+
+	* libgda/Makefile.am:
+	* libgda/libgda.h: added new files.
+
+	* doc/C/*: added new documentation.
+
+2002-05-16  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-value.[ch]:
+	(gda_value_new_from_string):
+	(gda_value_set_from_string):
+	(gda_value_compare): new functions.
+
+2002-05-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-provider.[ch]: added create_database to
+	GdaServerProvider class. Also, added some documentation.
+
+	* libgda/gda-connection.h: added new set of GdaConnectionFeature
+	values, describing all the schemas we support, so that we can
+	query providers if they support the schemas.
+
+	* libgda/gda-connection.c (gda_connection_create_database):
+	new function.
+
+	* providers/default/gda-default-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/sqlite/gda-sqlite-provider.c:
+	* providers/postgres/gda-postgres-provider.c: implemented
+	create_database method. Added support for new GdaConnectionFeature
+	values.
+
+	* providers/sqlite/gda-sqlite-recordset.[ch]: made
+	gda_sqlite_recordset_new return a GdaSqliteRecordset.
+
+2002-05-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/tmpl/gda-data-model-hash.sgml: added a few lines.
+
+	* libgda/gda-data-model-hash.[ch]: moved some functions around, added
+	some doc, added a few more argument checks.
+
+2002-05-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.pc.in: removed ORBit, bonobo-activation and libbonobo.
+
+	* configure.in: added report/gda-report.dtd to AC_OUTPUT.
+
+2002-05-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/tmpl/*.sgml:
+	* libgda/gda-connection.c: added some documentation.
+
+	* doc/C/tmpl/gda-recordset.sgml:
+	* libgda/gda-recordset.[ch]: removed.
+
+2002-05-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-log.c (gda_log_message, gda_log_error): made them show
+	the error message at least.
+
+	* Makefile.am:
+	* configure.in: re-activated report directory.
+
+	* report/Makefile.am:
+	* report/*.[ch]: removed the CORBA engine. We'll start simple, or
+	we'll never start :-)
+
+	* report/libgda-report/Makefile.am: don't build CORBA files.
+
+	* report/libgda-report/gda-report-datasource.[ch]:
+	* report/libgda-report/gda-report-client.[ch]: removed.
+
+	* doc/C/*: updated for changes in API files.
+
+2002-05-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mdb/*: started MDB provider (based on MDB Tools).
+
+	* configure.in:
+	* providers/Makefile.am: activated new provider.
+
+2002-05-14  Pablo Saratxaga  <pablo mandrakesoft com>
+
+	* configure.in: Added Vietnamese (vi) and Azeri (az) to ALL_LINGUAS
+
+2002-05-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.c: check pointers before
+	using them.
+
+	* providers/mysql/gda-mysql-providers.h: fixed typo.
+
+	* providers/sqlite/gda-sqlite-recordset.[ch]: don't use anymore
+	GdaRecordset, and convert it to be a GdaDataModel-based class.
+
+2002-05-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/Makefile.am: added gda-data-model-hash.[ch]. Removed
+	gda-recordset.[ch].
+
+	* libgda/gda-config.c: removed warning.
+
+	* libgda/libgda.h:
+	* libgda/gda-connection.c: removed gda-recordset.h.
+
+	* libgda/gda-data-model-array.c: use GdaValue instead of GdaField.
+	* libgda/gda-data-model-list.c:
+	* libgda/gda-data-model.c: Modified file.
+
+	* libgda/gda-field.[ch]: removed GdaRowField and GdaField.
+
+	* libgda/gda-row.[ch]: use GdaValue instead of GdaField. Removed
+	GdaRowField. Added gda_row_value () and gda_row_get_length ().
+
+	* libgda/gda-table.c: free field attributes.
+
+	* libgda/gda-table.h: changed gda-recordset.h by gda-data-model.h
+
+	* providers/default/gda-default-recordset.[ch]:
+	* providers/mysql/gda-mysql-recordset.c: use GdaDataModel instead of
+	GdaRecordset and GdaValue instead of GdaField.
+
+	* providers/postgres/gda-postgres-provider.c: include
+	gda-data-model-array.h.
+
+	* providers/postgres/gda-postgres-recordset.[ch]: implement
+	GdaDataModelHash instead of GdaDataModelArray.
+
+	* providers/postgres/utils.c: removed assertions.
+
+	* testing/client.c:
+	* testing/models.[ch]:
+	* testing/models.h:
+	* testing/postgres-test.c: added new test of random access to a data
+	model in postgres.
+
+2002-05-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml:
+	* doc/C/tmpl/gda-data-model-hash.sgml: added new API documentation.
+
+2002-05-13  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-data-model-hash.[ch]: implementation of new
+	GdaDataModelHash. Not yet added to Makefile.am.
+
+2002-05-12  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c (write_config_file): assign the root node to the
+	document to avoid overwriting the config file with an empty one :-).
+
+	* providers/postgres/gda-postgres-recordset.c (describe): fixed
+	comparison between the column number and the number of fields.
+
+2002-05-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_append_row):
+	set properties for field.
+	(gda_data_model_array_describe_column): new function.
+
+2002-05-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-recordset.c: store number of rows
+	and columns and array of types for each column in the private
+	structure. Changed the name of some internal functions to 
+	gda_postgres_recordset_*.
+	
+	(gda_postgres_recordset_get_value_at): fetch all the rows previous to
+	the requested if it has not already done.
+
+	(gda_postgres_recordset_get_n_rows): removed. Not used any more since
+	the base class already provides a valid one.
+	
+	* providers/postgres/gda-postgres.h:
+	* providers/postgres/utils.c: removed dbsize and fname parameters from
+	gda_postgres_set_value.
+
+2002-05-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: set the column titles
+	for the recordsets.
+
+	* providers/postgres/gda-postgres-recordset.[ch]: made it an object
+	derived from GdaDataModelArray.
+
+	* testing/models.c: GdaValue's from a data model are const.
+
+2002-05-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.[ch]: converted to a
+	GdaDataModel-based class.
+
+	* providers/mysql/gda-mysql-provider.c: adapted to changes in
+	GdaMysqlRecordset.
+
+	* libgda/gda-data-model.[ch] (gda_data_model_is_editing): new function
+
+2002-05-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch]: added "append_row" and "is_editable"
+	virtual methods.
+	(gda_data_model_class_init): initialize new members.
+	(gda_data_model_is_editable): new function.
+	(gda_data_model_append_row): new function.
+
+	* libgda/gda-data-model-array.[ch]: store GdaRow's instead of
+	GList's of values.
+	(gda_data_model_array_get_value_at): changed to deal with new
+	internal organization of data.
+	(gda_data_model_array_clear): likewise.
+	(gda_data_model_array_is_editable): new function.
+	(gda_data_model_array_append_row): made it private and changed to
+	return a GdaRow.
+
+	* libgda/gda-data-model-list.c: changed to use a GdaDataModelArray
+	for storing the values (with one column only).
+	(gda_data_model_list_get_value_at): call get_value_at on the internal
+	GdaDataModelArray.
+	(gda_data_model_list_get_n_rows): likewise.
+	(gda_data_model_list_is_editable): new function.
+	(gda_data_model_list_append_row): new function.
+	(gda_data_model_list_class_init): initialized new class members.
+	(gda_data_model_list_init): create internal GdaDataModelArray.
+	(gda_data_model_list_finalize): unref internal GdaDataModelArray.
+	(gda_data_model_list_append_value): changed to return a GdaRow, and
+	to just call the gda_data_model_array_* functions on the internal
+	GdaDataModelArray.
+	(gda_data_model_list_prepend_value): removed.
+	(gda_data_model_list_insert_value): removed.
+
+	* providers/default/gda-default-provider.c:
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/postgres/gda-postgres-provider.c:
+	* testing/models.c:
+	* libgda/gda-recordset.c:
+	* libgda/gda-config.c: use gda_data_model_append_row, and not
+	gda_data_model_array_append_row.
+	
+2002-05-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch] (gda_data_model_foreach): new function.
+
+2002-05-09  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-data-model.c: use integers as key of hash table. Fixed
+	documentation of get_value_at.
+
+2002-05-09  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-command.h: added GDA_COMMAND_TYPE_SCHEMA.
+
+	* libgda/gda-data-model.[ch]: added get/set for command text and type.
+
+	* libgda/gda-field.c (gda_field_set_caption): changed assertion. The
+	function returns void.
+
+	* libgda/gda-recordset.c: removed get/set for command text and type.
+
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres-recordset.[ch]:
+	* providers/postgres/gda-postgres-recordset.h:
+	* providers/postgres/gda-postgres.h:
+	* providers/postgres/utils.c: use GdaDataModel instead of
+	GdaRecordset.
+
+	* testing/models.c: changed some GDA_IS_RECORDSET by GDA_IS_DATA_MODEL
+	and gda_recordset_get_command* by gda_data_model_get_command*.
+
+2002-05-07  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: added writing configuration file support.
+
+	* libgda/gda-row.c (gda_row_get_attributes_length): allow NULL
+	parameter for empty rows.
+
+2002-05-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.[ch]: converted GdaRow to an opaque type, not
+	a GList.
+	(gda_row_get_id): new function.
+	(gda_row_set_id): new function.
+
+	* libgda/gda-data-model.[ch]: added new signals to this class,
+	"begin_edit", "end_edit" and "cancel_edit", for editing data models
+	returned by providers.
+	(gda_data_model_begin_edit): new function.
+	(gda_data_model_cancel_edit): new function.
+	(gda_data_model_end_edit): new function.
+
+2002-05-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.[ch]: moved GdaField* stuff...
+	
+	* libgda/gda-field.[ch]: ...to here.
+	(gda_field_attributes_get_caption): new function.
+	(gda_field_attributes_set_caption): new function.
+	(gda_field_get_caption): new function.
+	(gda_field_set_caption): new function.
+	(gda_field_attributes_new): initialize 'caption' member.
+	(gda_field_attributes_free): free 'caption' member.
+	
+	* libgda/libgda.h:
+	* libgda/Makefile.am: added new header files.
+
+	* doc/C/*: added new API header file.
+
+2002-05-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* Release 0.8.190
+
+2002-05-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/Makefile.am: don't include libgda-report, as it's not
+	included in the build.
+
+	* testing/Makefile.am:
+	* tools/Makefile.am:
+	* providers/default/Makefile.am: added missing -I's to INCLUDES.
+
+	* providers/oracle/Makefile.am:
+	* providers/sybase/Makefile.am: removed .server-related stuff.
+
+2002-05-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c: change "boolean" by "bool".
+
+2002-05-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.c (gda_row_attributes_get_length): return 0 if
+	the parameter is NULL, not -1.
+	(gda_row_attributes_get_field): check index before using it.
+
+2002-05-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-recordset.c:
+	(gda_recordset_get_value_at): retrieve the correct column.
+
+	Yahoo! Now gda-test runs correctly for the postgres provider.
+
+2002-05-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_search_entry): check pointers
+	before calling strcmp().
+
+2002-05-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* data/config: added URI= to the DSN entry.
+
+	* providers/default/gda-default-provider.c:
+	(get_databases): check for NULL.
+
+	* providers/default/libmain.c: added function prototypes.
+	(plugin_get_name): changed "default" to "Default"
+
+	* providers/postgres/libmain.c: added function prototypes.
+
+2002-05-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: GnomeVFS is no longer a dependency.
+
+	* libgda/gda-init.c (gda_init): don't call gnome_vfs_init.
+
+	* libgda/gda-util.c (gda_file_save):
+	(gda_file_load): changed to not use GnomeVFS.
+
+2002-05-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* gda-client.c: fixed SIGSEGV when freeing the provider hash.
+
+	* gda-recordset.c: remove local variable left by mistake.
+	
+	* gda-row.c (gda_row_attributes_get_length): allow NULL as input.
+	This is a temporary fix until we have get_n_rows for recorsets.
+
+2002-05-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-config.c:
+	* libgda/gda-recordset.c: fixes to correctly overwrite global
+	configuration with the one provided by the user.
+
+2002-05-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-recordset.c (gda_recordset_get_connection): added missing
+	function.
+
+	* data/Makefile.am: removed GConf stuff.
+
+	* data/libgda.schemas: removed.
+
+2002-05-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-recordset.c: 
+	(gda_recordset_get_value_at): fixed little bug.
+
+	* libgda/Makefile.am:
+	* libgda/gda-config.c: reimplemented configuration stuff without
+	using gconf.
+
+	* configure.in: removed gconf stuff.
+
+	* testing/client.c:
+	* testing/postgres-test.h: activate postgres tests.
+
+	* data/Makefile.am:
+	* data/config: new file with default global configuration for libgda.
+
+2002-04-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-recordset.c (gda_recordset_get_n_rows): implemented.
+	(gda_recordset_get_n_columns): implemented.
+	(gda_recordset_get_value_at): made it work.
+
+2002-04-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_get_provider_list): only load
+	*real* plugins (.so files).
+
+	* libgda/gda-recordset.[ch] (gda_recordset_new): added extra
+	parameter, to be passed over to the callback functions.
+
+	* libgda/gda-client.c (gda_client_open_connection): g_object_ref the
+	providers we load, to always keep a copy in memory.
+
+	* providers/*/*: adapted to new changes in gda_recordset_new.
+
+	* providers/mysql/Makefile.am: fixed typo.
+
+2002-04-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-recordset-model.[ch]: removed files I forgot to
+	remove.
+
+2002-04-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added GModule to list of dependencies.
+
+	* libgda/Makefile.am: define LIBGDA_PLUGINDIR.
+
+	* libgda/gda-init.c (gda_init): check that GModule is supported.
+
+	* libgda/gda-config.h: removed CORBA-related fields in the
+	GdaProviderInfo structure.
+
+	* libgda/gda-config.c (gda_config_get_provider_list): implemented
+	for the new non-CORBA architecture.
+	(gda_config_free_provider_info): don't free non-existant-anymore
+	fields.
+
+	* libgda/gda-client.c (gda_client_open_connection): actually load
+	the different plugins containing the providers.
+
+	* testing/config.c: don't use non-existant-anymore fields. Also,
+	just list sections and keys for libgda, not all the GConf database.
+
+	* providers/*/*.server.in: removed unneeded files and implemented
+	plugin_* functions, that will be used to interact with the plugin.
+
+2002-04-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.h: removed obsolte GdaComponentInfo structure.
+
+	* testing/config.c: fixes.
+
+2002-04-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/*:
+	* providers/mysql/*:
+	* providers/postgres/*:
+	* providers/sqlite/*:
+	* providers/odbc/*: ported to the new non-CORBA architecture.
+
+	* doc/C/*:
+	* testing/*: compilation fixes.
+
+	* libgda/gda-row.[ch] (gda_row_attributes_get_length): new function.
+
+	* libgda/gda-connection.[ch] (gda_connection_add_error_string):
+	new function.
+
+2002-04-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: bumped version to 0.8.190, and incremented library
+	version to 1.1.0. Removed CORBA dependencies. We still have a dependency
+	on GConf, which uses ORBit2, though.
+
+	* Makefile.am: removed report/* from build, until it is ready.
+
+	* libgda/Makefile.am: remove CORBA-generated files.
+
+	* libgda/*: compilation fixes, not really working yet.
+
+	* libgda/gda-server*: removed these files, as they can be merged
+	with the non-Server equivalents.
+	
+2002-04-11  Akira TAGOH  <tagoh gnome-db org>
+
+	* data/libgda.schemas: remove Datasources schema. it had an invalid
+	schema type. and we shouldn't need this anymore.
+
+2002-04-10  Zbigniew Chyla  <cyba gnome pl>
+
+	* acconfig.h: added BONOBO_EXPLICIT_TRANSLATION_DOMAIN.
+
+	* configure.in: defined BONOBO_EXPLICIT_TRANSLATION_DOMAIN.
+
+	* libgda/Makefile.am: set LIBGDA_LOCALEDIR to $(datadir)/locale.
+
+	* libgda/gda-client.c, libgda/gda-config.c, libgda/gda-connection.c,
+	libgda/gda-error.c, libgda/gda-init.c, libgda/gda-server-connection.c,
+	libgda/gda-server-recordset.c, libgda/gda-server.c, libgda/gda-table.c,
+	libgda/gda-value.c, providers/mysql/gda-mysql-recordset.c,
+	providers/oracle/gda-oracle-connection.c,
+	providers/postgres/gda-postgres-recordset.c,
+	providers/postgres/utils.c, report/gda-report-engine.c, report/job.c,
+	report/libgda-report/gda-report-client.c,
+	report/libgda-report/gda-report-document.c, testing/client.c,
+	testing/config.c:
+	added missing includes to fix i18n.
+
+	* providers/default/gda-default-provider.c (get_table_fields),
+	providers/mysql/gda-mysql-provider.c (get_table_fields),
+	providers/postgres/gda-postgres-provider.c (gda_postgres_init_md_recset):
+	translate field name,
+	added missing includes.
+
+	* providers/default/main.c, providers/mysql/main.c,
+	providers/odbc/main.c, providers/oracle/main.c, 
+	providers/postgres/main.c, providers/sqlite/main.c,
+	providers/sybase/main.c:
+	(main): call setlocale,
+	added missing includes.
+
+2002-04-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.c (gda_connection_execute_single_command): new
+	function for getting a single recordset from the server.
+
+	* libgda/gda-table.[ch] (gda_table_new_from_node): added 'add_data'
+	parameter, so that we can specify whether we want to add the model's
+	data to the table or not.
+
+	* libgda/gda-xml-database.[ch]
+	(gda_xml_database_new_table_from_model): new function.
+	(gda_xml_database_new_from_uri): get the database name from the XML
+	file.
+	(gda_xml_database_get_name):
+	(gda_xml_database_set_name): new functions.
+
+	* libgda/gda-export.c: made it compile on GNOME 2.
+
+	* libgda/Makefile.am:
+	* libgda/libgda.h: re-enabled GdaExport.
+
+	* libgda/gda-util.[ch] (gda_string_hash_to_list): new function.
+
+	* providers/default/gda-default-provider.c (get_databases):
+	implemented SCHEMA_DATABASES.
+
+2002-04-01  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-value.c (gda_value_isa): test type of value for NULL.
+
+	* providers/postgres/gda-postgres-provider.c: implemented SCHEMA_USERS,
+	SCHEMA_DATABASES and SCHEMA_SEQUENCES.
+
+	* providers/postgres/gda-postgres-recordset.c: use the new functions
+	gda_field_attributes_*.
+
+	* providers/postgres/utils.c (gda_data_type_to_string): removed unused
+	function.
+
+2002-03-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added SCHEMA_USERS, SCHEMA_SEQUENCES,
+	and SCHEMA_DATABASES.
+
+	* providers/mysql/gda-mysql-provider.c (get_mysql_databases):
+	implemented SCHEMA_DATABASES schema.
+
+	* libgda/gda-connection.h: added new schemas.
+
+	* testing/client.c (open_connection): add tests for new schemas.
+
+2002-03-31  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-data-model.c:
+	* libgda/gda-init.c:
+	* libgda/gda-server-connection.c:
+	* libgda/gda-table.c:
+	* libgda/gda-util.c:
+	* libgda/gda-xml-database.c:
+	* providers/default/gda-default-provider.c:
+	* providers/default/gda-default-recordset.c: warnings cleanup.
+
+	* providers/postgres/utils.c (gda_postgres_make_error): don't need to
+	use g_strdup/g_free.
+
+2002-03-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added primaryKey, uniqueKey and
+	references fields to the FieldAttributes structure.
+
+	* libgda/gda-row.[ch] (gda_field_attribute_get_primary_key):
+	(gda_field_attribute_set_primary_key):
+	(gda_field_attributes_get_unique_key):
+	(gda_field_attributes_set_unique_key):
+	(gda_field_attributes_get_references):
+	(gda_field_attributes_set_references):
+	(gda_field_get_primary_key):
+	(gda_field_set_primary_key):
+	(gda_field_get_unique_key):
+	(gda_field_set_unique_key):
+	(gda_field_get_references):
+	(gda_field_set_references): new functions.
+
+2002-03-29  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-error.c (gda_error_list_from_exception): corrected corba
+	system error message.
+	(gda_error_list_to_exception): set the number of errors in _length.
+
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres.h:
+	* providers/postgres/utils.c: gda_postgres_make_error () now also uses
+	the PGresult (if available) to set the error message.
+
+2002-03-29  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c (process_sql_commands):
+	One-liner to solve bug #74404.
+
+2002-03-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-provider.c (get_table_fields):
+	implemented SCHEMA_FIELDS schema.
+
+	* libgda/gda-xml-database.[ch] (gda_xml_database_find_table): new
+	function.
+
+	* libgda/gda-server-connection.[ch]
+	(gda_server_connection_add_error_string): allow variable list of
+	arguments, to format the string to be used for the error.
+
+	* libgda/gda-util.[ch] (gda_type_to_string): new function.
+	(gda_type_from_string): new function.
+
+2002-03-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (get_table_fields): implemented
+	SCHEMA_FIELDS schema.
+
+	* libgda/gda-server-connection.c (impl_Connection_getSchema): clean
+	up error list after sending it to clients via the CORBA_Environment.
+	(impl_Connection_close): ditto.
+	(impl_Connection_beginTransaction): ditto.
+	(impl_Connection_commitTransaction): ditto.
+	(impl_Connection_rollbackTransaction): ditto.
+	
+2002-03-25  Wang Jian  <lark linux net cn>
+
+	* configure.in: Added "zh_CN" to ALL_LINGUAS.
+
+2002-03-25  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: for SCHEMA_FIELDS,
+	return postgres data type names, not GDA ones.
+
+2002-03-25  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres.h:
+	* providers/postgres/utils.c: the data type column is now a string
+	containing the type name. Closes #76128.
+
+2002-03-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-util.c (gda_file_save): use gnome_vfs_create_uri, or
+	it will only work if the file already exists.
+
+	* providers/mysql/gda-mysql-recordset.c (fetch_func): make sure
+	we don't pass over NULL or unitialized pointers to ORBit.
+
+	* providers/mysql/gda-mysql-provider.c (get_mysql_aggregates):
+	implemented SCHEMA_AGGREGATES.
+
+2002-03-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch] (gda_data_model_to_comma_separated):
+	(gda_data_model_to_tab_separated):
+	(gda_data_model_to_xml): new utility functions.
+
+2002-03-22  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-recordset.c (fetch_func): don't add
+	an error in the connection if they request the last row + 1.
+
+2002-03-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-provider.c (get_types): implemented
+	SCHEMA_TYPES schema.
+	(gda_default_provider_open_connection): don't fail if the file does
+	not exist. Just create an empty database.
+
+	* libgda/gda-xml-database.[ch] (gda_xml_database_get_uri):
+	(gda_xml_database_set_uri): new functions.
+	Added support for queries in the XML database format.
+
+2002-03-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_finalize): call g_object_unref for
+	all opened connections, not gda_connection_close, which may close
+	connections in use in other places.
+	(gda_client_close_all_connections): new function.
+
+2002-03-20  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.[ch]: 
+	* providers/postgres/gda-postgres-recordset.c: 
+	* providers/postgres/gda-postgres.h: 
+	* providers/postgres/utils.c: improved performance for type mapping
+	between PostgreSQL OIDs and GdaType. Fixed a couple of memory leaks.
+
+2002-03-20  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-value.c (gda_value_stringify): added support for
+	GDA_TYPE_NUMERIC.
+	* providers/postgres/gda-postgres-provider.c: added support for
+	getting references. Changed some variable names.
+	* providers/postgres/utils.c: added support for GDA_TYPE_NUMERIC.
+	Removed some functions not used any more.
+	(gda_postgres_set_field_data): don't use g_new0/g_free unless
+	absolutely necessary. Don't set actual size as gda_field_set_*_value()
+	already does it.
+
+2002-03-19  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-parameter.c: include new file to remove warning.
+	* providers/postgres/gda-postgres-provider.c: fix a crash when a table
+	has no indexes for SCHEMA_FIELDS. Corrected defined size data for
+	SCHEMA_FIELDS.
+	* providers/postgres/utils.c: removed some TODO/FIXME lines.
+
+2002-03-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-connection.c (impl_Connection_getSchema): if there
+	are no errors, return an empty recordset.
+
+2002-03-19  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-parameter.c: initialize corba_list->_length. Changed
+	CORBA_Object_duplicate () by ORBit_RootObject_duplicate ().
+
+2002-03-19  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/utils.c: fix little mistake when mapping boolean
+	type from postgres to gda.
+
+2002-03-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-parameter.[ch] (gda_parameter_new_string): new function.
+	(gda_parameter_list_to_corba): finished implementation.
+
+2002-03-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/GNOME_Database_Provider_Default.server.in: use
+	URI instead of FILENAME, since we'll be able to support remote files.
+
+	* providers/default/gda-default-provider.c
+	(gda_default_provider_open_connection): use URI instead of FILENAME.
+
+	* libgda/gda-util.c (gda_file_load): create a GnomeVFSURI instead of
+	using the URI string directly.
+
+	* libgda/gda-init.c (gda_init): don't call
+	gnome_vfs_configuration_init, but gnome_vfs_init.
+
+2002-03-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-xml-database.[ch] (gda_xml_database_reload): new function
+	(gda_xml_database_save): new function.
+	(gda_xml_database_new_from_uri): store the uri in our internal data.
+	(gda_xml_database_get_tables): new function.
+	(gda_xml_database_free_table_list): new function.
+
+	* libgda/gda-init.c (gda_init): call gnome_vfs_configuration_init.
+
+	* providers/default/*: more work on the new default provider, based
+	on the GdaXmlDatabase class.
+
+2002-03-18  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/gda-postgres-provider.h:
+	* providers/postgres/gda-postgres-recordset.c:
+	* providers/postgres/gda-postgres.h:
+	* providers/postgres/utils.c: implemented SCHEMA_FIELDS and changed
+	the way to map between PostgreSQL and libgda types.
+
+2002-03-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.c (gda_data_model_describe_column): fixed
+	copy&paste code.
+
+2002-03-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: changed Numeric type to match mike's
+	proposals.
+
+2002-03-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added Numeric type.
+
+	* libgda/gda-value.[ch] (gda_value_new_numeric): new function.
+	(gda_value_get_numeric): new function.
+	(gda_value_set_numeric): new function.
+
+	* libgda/gda-row.[ch] (gda_field_set_numeric_value): new function.
+	(gda_field_get_numeric_value): new function.
+
+2002-03-12  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* configure.in: don't check for the version of intltool.
+
+2002-03-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch]: added "describe_column" virtual method.
+	(gda_data_model_describe_column): new function.
+	(gda_data_model_class_init): initialize new member.
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_class_init):
+	* libgda/gda-data-model-list.c (gda_data_model_list_class_init):
+	initialize new member.
+
+	* libgda/gda-recordset.c (gda_recordset_describe_column): new method.
+
+	* libgda/gda-table.[ch] (gda_table_new_from_model): new function to
+	create a GdaTable from a GdaDataModel.
+	(gda_table_describe_column): new method.
+	(gda_table_add_field): set number of columns on the underlying
+	GdaDataModelArray class.
+	(gda_table_add_data_from_model): new function.
+
+	* providers/default/*: reworked to be based on GdaXmlDatabase, since
+	the old default provider is now the GDA SQLite provider.
+
+2002-03-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.[ch] (gda_field_attributes_new):
+	(gda_field_attributes_free): new functions.
+
+	* libgda/gda-table.[ch]: new class, which implements an in-memory
+	representation of a whole table.
+
+	* libgda/gda-xml-database.[ch]: rewritten to make use of the already
+	existing interfaces, and not new ones.
+
+	* doc/C/libgda-docs.sgml:
+	* doc/C/tmpl/gda-table.sgml: added new docs.
+
+2002-03-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_add_listener): pass correctly the
+	user_data pointer, to avoid the crash in bug #72818.
+	(gda_config_save_data_source): added documentation.
+	(gda_config_remove_data_source): new function.
+
+	* configure.in:
+	* doc/C/Makefile.am: disabled 'es' and 'pt_BR' documentation until
+	they are fixed.
+
+2002-03-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/sybase/gda-sybase-error.c: removed dead file.
+
+2002-02-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl:
+	* libgda/gda-connection.h: added SCHEMA_FIELDS.
+
+2002-02-26  Chris Chabot <chabotc reviewboard com>
+
+	* libgda.spec.in: added optional compilation of all the providers,
+	thus allowing us to make packages for the providers we want, and
+	not for all of them.
+
+2002-02-26  Chris Chabot <chabotc reviewboard com>
+
+	* libgda.spec.in: new version.
+
+2002-02-26  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c (get_postgres_triggers):
+	now gets only triggers, not constraints.
+	* testing/client.c: added tests for aggregates and triggers.
+
+2002-02-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_add_listener): we must call
+	gconf_client_add_dir for the directories to be watched out.
+
+	* libgda/gda-marshal.list: added VOID:POINTER,UINT.
+
+2002-02-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.h: #define GDA_CONNECTION_SCHEMA_TRIGGERS.
+
+	* providers/postgres/gda-postgres-provider.c (get_postgres_triggers):
+	support SCHEMA_TRIGGERS.
+	(get_postgres_aggregates): support SCHEMA_AGGREGATES.
+
+	* libgda/gda-parameter.[ch]:
+	* libgda/gda-client.c:
+	* libgda/gda-connection.c:
+	* libgda/gda-server-connection.c:
+	* report/gda-report-engine.c:
+	* report/idl/GNOME_Database_Report.idl:
+	* idl/GNOME_Database.idl: replaced ParameterList with
+	Bonobo::PropertySet, since they are exactly the same.
+
+2002-02-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.h:
+	* idl/GNOME_Database.idl: added SCHEMA_AGGREGATES.
+
+2002-02-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added more properties to the
+	FieldAttributes struct.
+
+	* libgda/gda-row.[ch] (gda_field_attributes_set_allow_null),
+	(gda_field_attributes_get_allow_null), (gda_field_set_allow_null),
+	(gda_field_get_allow_null): new functions.
+
+2002-02-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	Released 0.8.103 version.
+
+2002-02-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added more FEATURE's, and added TRIGGERS
+	schema.
+
+	* providers/sqlite/gda-sqlite-provider.c
+	(gda_sqlite_provider_supports):
+	* providers/mysql/gda-mysql-provider.c (gda_mysql_provider_supports):
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_supports): support FEATURE_SQL.
+
+	* providers/odbc/gda-odbc-provider.c
+	(gda_odbc_provider_execute_command): implemented.
+
+2002-02-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/odbc/main.c:
+	* providers/odbc/gda-odbc-provider.[ch]:
+	* providers/odbc/GNOME_Database_Provider_ODBC.server.in: started port
+	from GNOME 1.x branch
+
+	* providers/postgres/gda-postgres-provider.c
+	(gda_postgres_provider_open_connection): use g_new0 for creating
+	the private structure.
+	(gda_postgres_provider_close_connection): don't leak the private
+	data.
+
+	* providers/postgres/main.c: use '<..>' for library header files.
+
+2002-02-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: don't look for DBMS libraries if --without is given.
+	Fixes #70264
+
+2002-01-30  Frederic Devernay sophia inria fr
+
+	* providers/mysql/gda-mysql-recordset.h: don't include mysql/mysql.h,
+	not needed and not existing in many setups. Fixes #70059
+
+2002-01-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: bumped version to 0.8.103
+
+2002-01-28  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* ChangeLog: Removed some po related entries.
+
+2002-01-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.[ch]: made GDA_CONFIG_* defines public, as they'll
+	be used outside libgda.
+
+2002-01-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.[ch] (gda_config_get_provider_by_name): new
+	function.
+	(gda_config_free_provider_info): new function.
+
+2002-01-26  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/sqlite/gda-sqlite-provider.c
+	* providers/sqlite/gda-sqlite-provider.h
+	* providers/sqlite/gda-sqlite-recordset.c
+	* providers/sqlite/gda-sqlite-recordset.h
+	* providers/sqlite/gda-sqlite.h
+	* providers/sqlite/main.c: Lots of changes. Now it should work ;-)
+	Also I have started some code to support transactions.
+	
+2002-01-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_open_connection): ping already
+	loaded providers, since they may have gone away.
+
+	* libgda/gda-connection.c (gda_connection_get_cnc_string):
+	(gda_connection_get_provider): new functions.
+	(gda_connection_new): initialize new private members.
+	(gda_connection_finalize): free new private members.
+
+2002-01-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.[ch] (gda_connection_new): use the GDA dsn
+	name, not the connection string.
+	(gda_connection_get_dsn): renamed from gda_connection_get_string
+
+	* libgda/gda-client.c: adapted to changes in gda-connection.*
+
+2002-01-25  Cleber Rodrigues <cleberrrjr bol com br>
+
+	* libgda/gda-connection.* 
+	(gda_connection_is_open): implemented
+
+2002-01-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/libgda-report/gda-report-document.c
+	(gda_report_document_new_from_string): implemented basic parser
+
+	* libgda/gda-util.c (gda_file_load): implemented
+
+2002-01-23  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/libgda-sections.txt:
+	* doc/C/tmpl/gda-command.sgml:
+	* doc/C/tmpl/gda-connection.sgml:
+	* doc/C/tmpl/gda-recordset.sgml:
+	* doc/C/tmpl/gda-report-datasource.sgml:
+	* doc/C/tmpl/gda-row.sgml:
+	* doc/C/tmpl/gda-server-recordset-model.sgml:
+	* doc/C/tmpl/gda-server-recordset.sgml:
+	* doc/C/tmpl/gda-xql-utils.sgml:
+	* libgda/gda-recordset.c: added documentation for
+	gda_recordset_get_command_t*().
+
+2002-01-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* data/gda-xml-query.dtd:
+	* data/gda-xml-query.xsl: added from stable branch
+
+2002-01-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/sqlite/*: moved the default provider to this new
+	directory, as the SQLite provider is just one more provider.
+
+	* configure.in:
+	* providers/Makefile.am: enabled new sqlite directory.
+
+	* libgda/gda-recordset.c (gda_recordset_finalize): check for
+	object type before continuing.
+
+2002-01-22  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* idl/GNOME_Database.idl: moved declarations of Command* before
+	Recordset. Added getCommandText() and getCommandType() to the
+	Recordset interface.
+
+	* libgda/gda-recordset.[ch] (gda_recordset_command_type):
+	(gda_recordset_command_text): new functions to retrieve the text and
+	type of the query that generated the recordset.
+
+	* libgda/gda-server-recordset.[ch] (impl_Recordset_getCommandText):
+	(impl_Recordset_getCommandType): new functions.
+
+	* providers/postgres/gda-postgres-provider.c (process_sql_commands):
+	sets the command type and text for each recordset.
+
+	* testing/models.c (display_recordset_data): display the type and text
+	of the query. Now it works for postgres provider.
+
+2002-01-21  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* idl/GNOME_Database.idl:
+	* libgda/gda-connection.h:
+	* providers/postgres/gda-postgres-provider.c:
+	* testing/client.c: added new SCHEMA_INDEXES and support for it.
+
+2002-01-20  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-command.h: changed parameter name in gda-command.h  to
+	match the name in gda-command.c so as gtk-doc recognizes it.
+
+2002-01-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* ChangeLog: merged all ChangeLog's into a single file
+
+2002-01-18  Hasbullah Bin Pit <sebol ikhlas com>
+
+	* configure.ini: Added Malay (ms)to ALL_LINGUAS.
+
+2002-01-18  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/sqlite/*: Removed, we use now distributions packages.
+	* providers/default/Makefile.am: Changed to use the system sqlite installation.
+
+2002-01-17  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/postgres-test.c: added support GdaCommandOption.
+	
+
+2002-01-17  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: added support for GdaCommandOptions.
+
+2002-01-17  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-command.[ch]: added new type GdaCommandOptions and get/set 
+	functions for it. Also added documentation for all the functions.
+	
+
+2002-01-17  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* idl/GNOME_Database.idl: added CommandOption.
+
+2002-01-17  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/tmpl/gda-command.sgml: added documentation.
+
+2002-01-17  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* configure.in: Added sqlite detection code
+
+2002-01-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/models.h: added declaration of display_recordset_data().
+
+	* testing/models.c (display_recordset_data): new function to show all the data
+	associated with a recordset (column name, data type, scale...).
+	(display_data_model): free the string returned by
+	gda_value_stringify(). Removed warnings.
+
+	* testing/postgres-test.c: use the new function in models.c
+
+	* testing/client.c:
+	* testing/config.c:
+	* testing/value.c: remove warnings.
+
+2002-01-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* report/gda-report-engine.c:
+	* report/libgda-report/gda-report-client.c:
+	* report/libgda-report/gda-report-document.c: removed a few easy-to-resolve
+	warnings. Still pending others.
+
+2002-01-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c:
+	* providers/postgres/utils.c: no more warnings.
+
+2002-01-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c:
+	* providers/mysql/gda-mysql-recordset.c: removed all warnings.
+
+2002-01-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/default/gda-default-provider.c: removed all warnings.
+
+2002-01-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-value.c: added documentation. Corrected changed parameter value
+	in *_list().
+
+	* libgda/gda-row.c: added documentation.
+	(gda_field_get_gdatype): changed GNOME_Database_TYPE_NULL to
+	GDA_TYPE_NULL.
+	(gda_field_stringify): remove const from the GdaValue parameter.
+
+	* libgda/gda-row.h: changed parameter name for 
+	gda_field_attributes_set_defined_size(): so as gtk-doc doesn't
+	complains about it. Remove const from the GdaValue parameter.
+
+	* libgda/gda-value.[ch]:
+	* libgda/gda-row.[ch]: changed 'long long' by 'gint64'. Removed all warnings.
+	Added some missing const to *value_new_*.
+
+	* libgda/gda-config.c:
+	* libgda/gda-data-model-array.c:
+	* libgda/gda-error.c:
+	* libgda/gda-parameter.c:
+	* libgda/gda-recordset.c:
+	* libgda/gda-server-connection.c:
+	* libgda/gda-server-recordset-model.c:
+	* libgda/gda-server.c:
+	* libgda/gda-util.c:
+	* libgda/gda-xml-database.c:
+	* libgda/gda-xml-document.c:
+	* libgda/gda-xql-query.c: removed all warnings except for unused static
+	functions in gda-xql-select.c and gda-xql-item.c.
+	
+
+2002-01-15  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: added parameter information to the providers
+	configuration section.
+
+	* doc/C/tmpl/gda-value.sgml: added long and short description. Little
+	changes to the table of type and string representations.
+
+	* doc/C/tmpl/gda-row.sgml: added short description.
+
+2002-01-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch]: added declarations for new GdaValueList type
+	(gda_value_new_list): new function
+	(gda_value_get_list): new function
+	(gda_value_set_list): new function
+	(gda_value_stringify): added support for ValueList type
+
+	* libgda/gda-row.[ch]: added support for new GdaValueList type
+	(gda_field_get_list_value): new function
+	(gda_field_set_list_value): new function
+
+2002-01-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added ValueList type
+
+2002-01-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/tmpl/gda-value.sgml: added information for GDA_VALUE_TYPE_LIST
+	conversions in gda_value_stringify
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* report/gda-report-engine.[ch]:
+	* report/gda-report-output.[ch]:
+	* report/libgda-report/gda-report-datasource.[ch]: changed BonoboXObject to
+	BonoboObject. Closes bug #67816.
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/sybase/main.c: included libgda/libgda.h to avoid warnings.
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/main.c: included libgda/libgda.h to avoid warnings.
+
+	* providers/postgres/gda-postgres-recordset.c: include gda-postgres.h instead of
+	gda-postgres-recordset.h to avoid warnings.  Corrected 
+	OBJECT_DATA_RECSET_HANDLE #define (was still *_Mysql_*!).
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/oracle/main.c: included libgda/libgda.h to avoid warnings.
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/mysql/main.c: included libgda/libgda.h to avoid warnings.
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/default/main.c: included libgda/libgda.h to avoid warnings.
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-client.c:
+	* libgda/gda-client.h:
+	* libgda/gda-server-connection.c:
+	* libgda/gda-server-connection.h:
+	* libgda/gda-server-provider.c:
+	* libgda/gda-server-provider.h:
+	* libgda/gda-server-recordset.c:
+	* libgda/gda-server-recordset.h: changed BonoboXObject to BonoboObject.
+	Closes bug #67816.
+
+	* libgda/gda-value.c: added documentation for gda_value_stringify().
+
+2002-01-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server.c (factory_callback): emit termination signals on all
+	errors
+
+	* libgda/gda-server-provider.c (gda_server_provider_close_connection):
+	(gda_server_provider_open_connection): unref the provider when
+	no connections remain open
+
+2002-01-14  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: removed warning in line 484.
+
+	* doc/C/tmpl/gda-value.sgml: added documentation for gda_value_stringify().
+
+2002-01-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/libgda-report/Makefile.am: fixed so that orbit-idl regenerates
+	the skels and stubs when the IDL files change
+
+2002-01-13  Rodrigo Moya <rodrigo gnome-db org>
+	
+	* libgda/gda-server-connection.c (impl_Connection_open): use
+	bonobo_object_dup_ref, not CORBA_Object_duplicate
+
+	* libgda/gda-connection.c (gda_connection_finalize): added new parameter
+	in the call to GNOME_Database_Connection_close
+
+2002-01-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added 'Client client' argument to the
+	Connection::close method
+
+2002-01-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/Makefile.am: added models.h to _SOURCES for distcheck
+
+2002-01-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: bumped version to 0.8.102
+
+2002-01-12  Abel Cheung <maddog linux org hk>
+
+	* doc/pt_BR/Makefile.am: Added DESTDIR support.
+
+2002-01-12  Abel Cheung <maddog linux org hk>
+
+	* doc/es/Makefile.am: Add DESTDIR support.
+
+2002-01-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: use GNOME_COMPILE_WARNINGS, and removed call to
+	obsolete GNOME_COMMON_INIT macro
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* tools/gda-run.c: assigned copyright to the GNOME Foundation.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/*.[ch]: assign copyright to the GNOME Foundation.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* report/*.[ch]: assigned copyright to GNOME Foundation.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/sybase/*.[ch]: assign copyright to the GNOME Foundation.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-recordset.c: updated copyright notice.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/oracle/*.[ch]: assigned copyright to the GNOME Foundation.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/mysql/*.[ch]: assigned copyright to the GNOME Foundation.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/default/*.[ch]: assigned copyright to the GNOME Foundation.
+
+2002-01-11  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/*.[ch]: Assign copyright to the GNOME Foundation.
+
+2002-01-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-connection.c (gda_server_connection_add_error_string):
+	implemented
+
+2002-01-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/client.c: include postgres-test.h.  Moved postgres tests to the
+	new files.
+	(open_connection()): Correctly guess the provider.
+
+	* testing/postgres-test.[ch]: new.
+
+	* testing/models.h: new file to show the functions available in models.c.
+
+	* testing/Makefile.am: added postgres-test.[ch].
+
+2002-01-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/utils.c (gda_postgres_set_field_date): added support for Time,
+	Timestamp and Date.
+	
+
+2002-01-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-row.[ch]: *_get_* returns const. *_set_* receives const.
+	Make Time, Timestamp and Date work. Removed assert in
+	gda_field_get_time_value(), get_date_value() and get_timestamp_value() 
+	as gda_value_*() does it.
+
+	* libgda/gda-value.[ch]: removed many warnings. Changes to Time, Date and
+	Timestamp. Same with const as the above. Changed BONOBO_ARG_* by
+	GDA_VALUE_* for the basic types. Defined TIMEZONE_INVALID. Declared
+	GdaDate, GdaTime and GdaTimestamp.
+	(gda_value_stringify()): use the maximum precision for Point. Added
+	conversion of Date, Time and Timestamp.
+	
+
+2002-01-10  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* idl/GNOME_Database.idl: added timezone to Time and Timestamp.
+
+2002-01-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/client.c (display_row_data): on the client side, we use
+	GdaRecordset's, not GdaServerRecordset's
+
+2002-01-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* tools/gda-buildclient.in:
+	* tools/gda-buildserver.in: removed useless scripts, not needed anymore
+
+2002-01-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.[ch] (gda_value_is_null): new function
+	(gda_value_set_null): new function
+
+	* libgda/gda-row.[ch] (gda_field_is_null): implemented
+	(gda_field_set_null_value): implemented
+
+	* libgda/gda-config.c (gda_config_save_data_source): new function
+
+2002-01-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: removed gda-build* scripts
+
+2002-01-08  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/client.c (show_schema()): changed value to be const.
+	(do_postgres_test()):
+	(display_row_data()):
+	(open_connection()): new test specific to the postgres provider.
+
+2002-01-08  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/utils.c (gda_postgres_set_type_value): renamed to
+	gda_postgres_set_field_data(). Now it sets all the field data, not
+	just type and value.
+	(gda_postgres_type_to_gda()): added NAMEOID type (char(32) used for
+	internal names in PostgreSQL). Default return value is now STRING so
+	as describe_func() doesn't set the column type to UNKNOWN.
+
+	* providers/postgres/gda-postgres.h: removed declaration of gda_postgres_set_type_value()
+	and added gda_postgres_set_field_data().
+
+	* providers/postgres/gda-postgres-recordset.c (fetch_func()): use the new function to set
+	the field data. Removed TODO list. Check for null values.
+	(describe_func()): removed TODO list. Values for scale and
+	defined_size are now ok.
+
+	* providers/postgres/gda_postgres_provider.c: free the list of recordsets when there is
+	an error and return NULL after adding the error to the connection.
+	
+
+2002-01-08  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-row.h: define GdaType as an enumeration.
+
+	* libgda/gda-row.[ch]: stringify receives a const argument.
+
+	* libgda/gda-value.[ch]: stringify receives a const argument. So does
+	gda_value_isa(). We should talk about constness in the list.
+
+2002-01-07  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/*.[ch]: changed copyright to the GNOME Foundation.
+
+	* providers/postgres/gda-postgres-provider.[ch]: moved #define's to header file. Now use
+	GdaPostgresConnectionPrivate to store the connection and the data
+	associated data types.
+	(add_string_row()): now it is called from g_list_foreach().
+
+2002-01-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server.c (factory_callback): if we fail creating an object,
+	and we've got no clients attached, emit the "last_client_gone" signal,
+	so that processes can terminate.
+
+2002-01-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/es/libgda.sgml:
+	* doc/pt_BR/libgda.sgml: fixed DOCTYPE
+
+2002-01-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/utils.c (gda_mysql_type_to_gda): when we can't resolve the types,
+	default to STRING, not to UNKNOWN
+
+2002-01-03  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/utils.c:
+	* providers/postgres/gda-postgres-recordset.c: Added support for GdaGeometricPoint.
+
+2002-01-03  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/Changelog: fix little mistake.
+
+	* libgda/gda-row.[ch]:
+	* libgda/gda-value.[ch]:
+	Added support for GeometricPoint data type.	
+
+2002-01-03  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* idl/GNOME_Database.idl: added GeometricPoint as new data type.
+
+2002-01-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/client.c: also lists procedures and views (if any). Shows the number
+	of procedures, tables, types and views.
+	
+
+2002-01-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c (process_sql_commands()): don't call
+	PQclear() after storing the resultset. It's done when freeing the
+	resultset.
+	(gda_postgres_provider_get_schema()): added this one and a few helper 
+	functions.
+	(gda_postgres_provider_open_connection()): accept REQUIRESSL and
+	HOSTADDR as parameters and changed LOGIN by USER. Now uses
+	PQconnectdb() instead of the old PQsetdbLogin(). Changed default date
+	style to ISO.
+
+	* providers/postgres/utils.c (gda_postgres_set_type_value()): GDA_TYPE_DATE now works.
+	Changed the type of the default from GDA_TYPE_UNKNOWN to
+	GDA_TYPE_STRING as a temporary workaround to make TIMESTAMP, TIME and
+	BINARY work.
+
+	* providers/postgres/GNOME_Database_Provider_Postgres.server.in: added parameters
+	REQUIRESSL and HOSTADDR. Changed LOGIN by USER.
+
+2002-01-02  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-server-recordset.c (get_row): fixed counter on row retrieval
+	loop, which was getting always 1 row more
+
+	* libgda/Makefile.am: s/IDLFILES/IDL_FILES, so that ORBit-generated files
+	are regenerated when the IDL files change
+
+	* libgda/gda-server-connection.c (gda_server_connection_free_error_list): 
+	Test if the error list is NULL to avoid failing assertion in
+	gda_error_list_free().
+
+2002-01-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda.sgml: libgda-init functions
+
+	* doc/C/libgda-docs.sgml: added libgda-init section
+
+2001-12-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-recordset.c (gda_recordset_get_value_at): move to next row
+	after successfully fetching
+
+2001-12-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/client.c (show_schemas): added types schema
+
+2001-12-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (get_mysql_types): implemented TYPES schema
+
+2001-12-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/sqlite/Makefile.am: don't fail when copying lempar.c for distcheck
+
+2001-12-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-recordset-model.[ch]: new class, for creating
+	GdaServerRecordset's from data models
+
+	* libgda/gda-server-recordset.[ch] (gda_server_recordset_set_connection):
+	(gda_server_recordset_set_fetch_func):
+	(gda_server_recordset_set_describe_func): new functions
+
+	* libgda/gda-row.[ch] (gda_field_set_value): set const for GdaValue argument
+
+2001-12-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: added GdaServerRecordsetModel
+
+	* doc/C/tmpl/gda-server-recordset-model.sgml: added new file
+
+2001-12-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.c (fetch_func): if there are no rows, just
+	return, for not causing crashes on invalid memory access. Also,
+	provide a default in the switch statement
+
+2001-12-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.h: added new schemas to GdaConnectionSchema
+
+2001-12-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added more schemas (VIEWS, PROCEDURES, TYPES)
+
+2001-12-29  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/sqlite/Makefile.am:
+	* report/libgda-report/Makefile.am: more changes to really
+	pass distcheck. 0.8.99 is ready
+
+2001-12-29  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/sqlite/Makefile.am: Fixed to pass distcheck.
+	It's only a bad fix, we should review it. Happy New Year!!!
+	
+
+2001-12-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/client.c (show_schemas): new function for showing database schema
+	objects from the tested connections
+
+2001-12-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: bumped version to 0.8.99
+
+2001-12-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/idl/GNOME_Database_Report.idl: added ::Output interface, and made
+	the runDocument method return that, so that we can make async
+	retrieval of the reports
+
+	* report/gda-report-engine.c (impl_ReportEngine_runDocument): implemented
+
+	* report/gda-report-output.[ch]: implementation of the ::Output interface
+
+	* report/job.[ch]: new files for processing reports
+	(engine_job_process_report): function for processing the XML reports
+	sent out by clients
+
+2001-12-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (gda_mysql_provider_get_schema): started
+	implementation
+	(get_mysql_tables): implemented SCHEMA_TABLES
+
+2001-12-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-provider.[ch]: added getSchema virtual function
+	(gda_server_provider_get_schema): new function
+
+	* libgda/gda-server-connection.c (impl_Connection_getSchema): implemented
+
+	* libgda/gda-connection.[ch] (gda_connection_get_schema): new function
+
+	* libgda/gda-parameter.[ch] (gda_parameter_list_new_from_corba): new function
+
+2001-12-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added schema stuff to ::Connection interface
+
+2001-12-26  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/gda-report-engine.[ch] (gda_report_engine_get_gda_client): new
+	function for getting the global GdaClient object being used
+
+	* report/libgda-report/gda-report-datasource.[ch]: fixed for compilation
+
+	* report/idl/GNOME_Database_Report.idl: fixed
+
+2001-12-26  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: added the call to
+	gda_server_connection_add_error() where I forgot to put it.
+	Added gda_postgres_provider_supports().
+	Call PQfinish() if PQsetdbLogin() fails.
+	Always call PQfinish() in close_connection() to avoid memory leaks.
+	Handle the possible NULL return value in PQexec().
+
+	* providers/postgres/utils.c: First version of a working gda_postgres_type_to_gda().
+	Added gda_postgres_set_type_value().
+
+2001-12-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/libgda-report/gda-report-document.c
+	(gda_report_document_new_from_uri): implemented
+
+	* report/libgda-report/gda-report-client.[ch]
+	(gda_report_client_run_document): implemented
+
+	* report/libgda-report/gda-report-datasource.[ch]: new files
+
+	* report/idl/GNOME_Database_Report.idl: made runDocument use
+	Bonobo::Stream's instead of simple string's, since we
+	might be sending back and forth very big chunks of data.
+	Added GNOME::Database::Report::DataSource interface
+
+2001-12-25  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-connection.c (gda_server_connection_class_init): also
+	initialize the supports function pointer
+
+	* libgda/gda-xml-database.[ch] (gda_xml_database_new_from_uri): renamed
+	from gda_xml_database_new_from_file, so that we can get the file
+	from any place supported by GnomeVFS
+	(gda_xml_database_save): removed, not needed anymore, there is
+	gda_xml_document_to_file, which even now works with GnomeVFS
+	(gda_xml_database_free): removed
+
+2001-12-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/libgda-report/gda-report-document.[ch]: new files for managing
+	the XML format used for reports
+	(gda_report_document_new_from_string): new function
+	(gda_report_document_new_from_uri): new function
+
+2001-12-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda-docs.sgml: added GdaReportDocument section
+
+2001-12-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/main.c: main file for the engine binary
+
+	* report/gda-report-engine.[ch]: GNOME::Database::Report::Engine object
+	implementation
+
+	* report/GNOME_Database_Report.server.in: added
+
+	* report/idl/GNOME_Database_Report.idl: 1st phase of the report engine is
+	very simple, so reflect that in the IDL. Also, reuse definitions
+	from GNOME::Database
+
+	* report/libgda-report/gda-report-client.[ch]: new files
+
+2001-12-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.c (fetch_func): don't use mysql_fetch_lengths,
+	but the MYSQL_RES 's lengths member. Also, call mysql_fetch_row!
+
+2001-12-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.c (gda_row_new): initialize all GdaField's to be
+	a NULL value
+
+	* libgda/gda-value.c (gda_value_set_*): fixed all functions to really
+	work as expected
+
+	* libgda/gda-server-recordset.c (impl_Recordset_fetch): don't return
+	an initialized pointer!
+
+	* libgda/gda-recordset.c (gda_recordset_get_n_rows): return the number
+	of rows from the GNOME::Database::Recordset object, not the
+	underlying GdaDataModelArray, which is filled on demand
+	(gda_recordset_get_value_at): get rows on demand
+
+2001-12-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/Makefile.am:
+	* doc/C/libgda-docs.sgml: added libgda-report to documentation
+
+2001-12-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in:
+	* Makefile.am: re-enabled report directory
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/client.c: added gda_connection_supports test
+
+	* testing/gda-xmldb-test.c: removed. All tests will be in gda-test
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/common/*:
+	* report/engine/*: removed for restructuration
+
+	* report/libgda-report/: new directory to contain the report library
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (gda_mysql_provider_supports): new method
+	implementation for the MySQL provider
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-provider.c: added missing #include's
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-provider.[ch] (gda_server_provider_supports): new
+
+	* libgda/gda-server-connection.c (impl_Connection_supports): new method
+	implementation
+
+	* libgda/gda-connection.[ch] (gda_connection_supports): new function
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added supports method to ::Connection, method
+	for getting information about supported features in a give database
+	connection
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added libgnome-vfs to list of required libraries
+
+2001-12-22  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/gda-default-provider.c: Finished the implementation of execute
+	command for SQL queries.
+	* providers/default/gda-default-recordset.[ch]: Added to create new default-recordset.
+
+2001-12-22  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* libgda/Makefile.am: Fixed.
+
+2001-12-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-connection.c (gda_connection_execute_command): don't connect
+	to "finalize" signals
+
+	* libgda/gda-util.[ch] (gda_file_save): new function
+	(gda_file_load): new function
+
+	* libgda/gda-xml-document.c (gda_xml_document_free): removed useless function
+	(gda_xml_document_to_file): use URIs instead of local filenames, and
+	call gda_file_save instead of xmlSaveFile.
+
+2001-12-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server.c (component_destroyed_cb): fixed
+
+2001-12-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/re-enabled doc directory, now including both the manual and
+	the API reference in the same document
+
+2001-12-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in:
+	* Makefile.am: re-enabled doc directory
+
+2001-12-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/oracle/gda-oracle-connection.[ch]: Oracle connection-specific data
+	management functions
+
+	* providers/oracle/gda-oracle-provider.[ch]: Oracle implementation for the
+	GNOME::Database::Provider interface
+
+	* providers/oracle/gda-oracle.h: main header file
+
+	* providers/oracle/started GNOME 2 port for the Oracle provider
+
+2001-12-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (gda_mysql_provider_begin_transaction):
+	(gda_mysql_provider_commit_transaction):
+	(gda_mysql_provider_rollback_transaction): implemented
+
+2001-12-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (cnc_weak_cb): added weak ref callback
+	(gda_client_open_connection): use g_object_weak_ref
+
+2001-12-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added Oracle provider
+
+2001-12-20  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres-provider.c: some cosmetic changes, implementation of
+	begin, commit and rollback.
+
+	* providers/postgres/gda-postgres-recordset.c: commented out some portions of code
+	related to data types so as the code compiles ok.
+
+	* providers/postgres/gda-postgres.h: added include for gda-postgres-recordset.h needed by
+	gda-postgres-provider.c. Changed the declaration of 
+	gda_postgres_type_to_gda() to make the code compile.
+
+	* providers/postgres/utils.c: make the code compile but gda_postgres_type_to_gda()
+	unuseful. I will finish it later.
+	
+
+2001-12-20  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* libgda/gda-connection.c: if 'id' is NULL in begin, commit or rollback
+	then replace it with a "". This avoids core dump in gda-test.c.
+
+2001-12-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-connection.c:
+	* libgda/gda-server-provider.c: s/g_return*_if_fail/bonobo_return*_if_fail
+
+2001-12-20  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/sqlite/Makefile.am: Defined OS_UNIX=1
+
+2001-12-20  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/sqlite/*: Updated to 2.1.7 release.
+
+2001-12-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/postgres/GNOME_Database_Provider_Postgres.server.in: fixed gda_params
+	attribute, which was copied from MySQL, so was invalid
+
+	* providers/postgres/Makefile.am: added '-2' suffix to executable name
+
+2001-12-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (gda_mysql_provider_get_type): removed extra
+	if statement
+	(process_sql_commands): initialize counters before using them
+
+2001-12-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-recordset.c (gda_recordset_new): set column titles
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_set_n_columns): new
+	function
+
+2001-12-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: we now depend on libxslt
+
+2001-12-19  Cleber Rodrigues <cleberrrjr bol com br>
+
+	* libgda/gda-xql-*: ported GDA XML Query stuff to GNOME 2
+
+2001-12-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/Makefile.am:
+	* providers/mysql/GNOME_Database_Provider_MySQL.server.in: added '-2' suffix
+	to executable name
+
+	* providers/mysql/gda-mysql-recordset.c (fetch_func): implemented
+	(describe_func): implemented
+
+2001-12-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-recordset.c (impl_Recordset_moveFirst): implemented
+	(impl_Recordset_moveNext): implemented
+	(impl_Recordset_movePrevious): implemented
+	(impl_Recordset_moveLast): implemented
+
+2001-12-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-recordset.c (impl_Recordset_describe): implemented
+	(impl_Recordset_fetch): implemented
+
+2001-12-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.[ch] (gda_row_get_field): new function
+
+	* libgda/gda-server-recordset.[ch] (impl_Recordset_getRowCount): new
+	CORBA method added
+
+2001-12-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added getRowCount method to ::Recordset
+
+2001-12-18  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* providers/postgres/gda-postgres.h: Initial version
+	* providers/postgres/gda-postgres-provider.h: Initial version
+	* providers/postgres/gda-postgres-provider.c: Initial version
+	* providers/postgres/gda-postgres-recordset.c: Initial version
+	* providers/postgres/gda-postgres-recordset.h: Initial version
+	* providers/postgres/GNOME_Database_Provider_Postgres.server.in: Initial version
+	* providers/postgres/Changelog: Initial version
+	* providers/postgres/main.c: Initial version
+	* providers/postgres/Makefile.am: Initial version
+	* providers/postgres/utils.c: Initial version
+
+	Based heavily upon the work by Rodrigo in the MySQL provider and
+	Vivien in the gnome-1-x PostgreSQL provider.
+
+2001-12-18  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+        * configure.in: Added postgres provider directory to build process.
+
+2001-12-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/utils.c (gda_mysql_type_to_gda): new function
+
+2001-12-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/Makefile.am:
+	* providers/default/GNOME_Database_Provider_Default.server.in: added '-2' suffix
+	to executable name
+
+2001-12-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-field.[ch]: removed, moved all functions to gda-row
+
+	* libgda/gda-server-recordset.c (gda_server_recordset_get_connection): new
+	function
+
+	* libgda/gda-row.c (gda_row_attributes_new): new function
+	(gda_row_attributes_get_field): new function
+	(gda_field_attributes_get_defined_size): new function
+	(gda_field_attributes_set_defined_size): new function
+	(gda_field_attributes_get_name): new function
+	(gda_field_attributes_set_name): new function
+	(gda_field_attributes_get_scale): new function
+	(gda_field_attributes_set_scale): new function
+	(gda_field_attributes_get_gdatype): new function
+	(gda_field_attributes_set_gdatype): new function
+	(gda_field_*): moved from gda-field.[ch]
+
+2001-12-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: s/ValueType/Type, and removed unused Type's
+
+2001-12-16  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.c (gda_mysql_provider_execute_command): impl
+
+	* providers/mysql/gda-mysql-recordset.[ch]: new files
+
+2001-12-16  Duarte Loreto <happyguy_pt hotmail com>
+
+        * configure.in: Added Portuguese locale to ALL_LINGUAS.
+
+2001-12-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-parameter.c (gda_parameter_list_to_corba): new function
+
+	* libgda/gda-server-connection.c (gda_server_connection_notify_action):
+	don't build the CORBA sequence by hand, but use the new
+	gda_parameter_list_to_corba function
+
+	* libgda/gda-recordset (gda_recordset_new): added a GNOME_Database_Recordset
+	parameter, since GdaRecordset's shouldn't be created without a
+	valid CORBA object
+
+	* libgda/gda-connection.c (gda_connection_execute_command): implemented
+
+2001-12-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: s/AM_GCONF_SOURCE2/AM_GCONF_SOURCE_2
+
+2001-12-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-provider.c (gda_default_provider_open_connection):
+	reverted my last change. New SQLite version just uses a FILENAME,
+	not a DIRECTORY, as previous versions
+
+2001-12-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-parameter.c (gda_parameter_list_get_length): return 0 instead
+	of -1 if the parameter is NULL
+
+2001-12-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-provider.c (gda_default_provider_open_connection): use
+	DIRECTORY instead of FILENAME in the connection string
+
+2001-12-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-connection.c (gda_server_connection_notify_action):
+	disable, as it is not working right now
+
+	* libgda/gda-parameter.[ch] (gda_parameter_list_get_length): new function
+
+	* libgda/gda-client.[ch]: added "error" signal to GdaClient class
+
+	* libgda/gda-connection.[ch]: added "error" signal to GdaConnection class
+
+	* libgda/gda-error.c (gda_error_list_from_exception):
+	(gda_error_list_to_exception): fixed crashes
+
+	* libgda/gda-config.c: replaced use of GConfEngine with GConfClient to
+	avoid problems with GConfEngine/GConfClient (from libgnome) mix
+	problems
+
+2001-12-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* data/added data/ directory, where all data files will be kept
+
+	* data/libgda.schemas: GConf schema file
+
+2001-12-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added all needed stuff for the installation of
+	the libgda GConf schemas
+
+	* Makefile.am: added 'data' directory to build process
+
+2001-12-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.c (gda_config_set_column_title): new function, since
+	the column titles will be managed by the abstract class
+	(gda_data_model_get_column_title): implemented
+	(gda_data_model_thaw): implemented
+
+	* libgda/gda-config.c (gda_config_get_data_source_model): new function,
+	to get the list of installed data sources as a GdaDataModel
+
+2001-12-05  mr mike <wingert 3 postbox acs ohio-state edu>
+
+	* providers/sybase/Started new version of the Sybase provider, based on the new
+	Provider API
+
+2001-12-05  mr mike <wingert 3 postbox acs ohio-state edu>
+
+	* configure.in: re-added Sybase provider directory to build process
+
+2001-12-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_get_connection_list): new function
+	(gda_client_find_connection): new function
+
+2001-12-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* bindings/pascal/*:
+	* bindings/python/*: removed, since bindings for libgda will not be needed
+	for any language, as all the features are going to be accessible
+	via the CORBA interfaces
+
+2001-12-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c (gda_config_get_component_list): add the created
+	structures to the list to be returned
+
+	* libgda/gda-server.c (component_destroyed_cb): break the for loop when
+	we find the item
+	(gda_server_class_init): actually create the object class signals
+
+2001-11-30  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server-provider.c (gda_server_provider_open_connection):
+	added support for the POOLING parameter included in the connection
+	string, so that clients not using the client library (python, perl,
+	etc) have access to the connection pooling feature
+
+	* libgda/gda-server-connection.[ch] (gda_server_connection_get_string): new
+	(gda_server_connection_get_username): new function
+	(gda_server_connection_get_password): new function
+
+2001-11-25  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/gda-default-provider.c (gda_default_provider_execute_command):
+	Started the implementation.
+
+2001-11-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-server.c (gda_server_register_component): if I use
+	"ptype = (GType *) ptype", I'll always get an invalid pointer :-)
+
+2001-11-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.c (gda_client_open_connection): don't pass NULL
+	to ORBit functions
+
+	* libgda/gda-xml-document.c:
+	* libgda/gda-recordset.c: include glib-object.h, not gobject/*.h
+
+	* libgda/gda-parameter.[ch] (gda_parameter_new): added a GdaValueType
+	parameter
+
+	* libgda/gda-config.c (activation_property_to_parameter): adapted to recent
+	changes in GdaParameter API
+
+2001-11-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-parameter.[ch] (gda_parameter_list_add_value): implemented
+	(gda_parameter_list_clear): new function
+	(gda_parameter_list_find): implemented
+
+2001-11-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: require glib >= 1.3.10
+
+2001-11-21  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* configure.in: Changed GETTEXT_PACKAGE from libgda-2.0 to libgda-2
+
+2001-11-20  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: removed obsolete documentation directories
+
+2001-11-20  Gonzalo Paniagua Javier <gonzalo gnome-db org>
+
+	* testing/client.c: added rollback test.
+
+2001-11-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/reference/libgda-reference.sgml:
+	* doc/C/libgda.sgml: replaced DTD entry for DocBook-XML
+
+	* doc/C/libgda.sgml: started new manual
+
+2001-11-18  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-row.[ch] (gda_row_new): new function
+	(gda_row_free): new function
+
+	* libgda/gda-xml-database.c: removed <gobject/*.h>
+
+2001-11-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.c: use /apps/libgda as prefix for configuration,
+	for not stepping on the GNOME 1.x version configuration
+
+2001-11-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* convert-api.sh: removed, not needed anymore
+
+2001-11-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-config.[ch] (gda_config_add_listener): new function
+	(gda_config_remove_listener): new function
+
+2001-11-07  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/models.c (test_array_model): GdaDataModelArray test
+
+	* testing/value.c: GdaValue tests
+
+2001-11-07  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model-array.c (gda_data_model_array_append_row): new
+	function for adding data to a GdaDataModelArray object
+
+	* libgda/gda-value.c (gda_value_isa): new function
+
+	* libgda/gda-data-model-list.c (gda_data_model_list_get_value_at): I'm
+	stupid, g_list_nth returns a GList *, not the data element!
+
+2001-11-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-value.h: added GdaValueType enumeration, which wraps the
+	CORBA typecodes
+
+	* libgda/gda-value.c (gda_value_new): removed function
+	(gda_value_new_null): new function
+	(gda_value_new_bigint): new function
+	(gda_value_new_binary): new function
+	(gda_value_new_boolean): new function
+	(gda_value_new_date): new function
+	(gda_value_new_double): new function
+	(gda_value_new_integer): new function
+	(gda_value_new_single): new function
+	(gda_value_new_smallint): new funtion
+	(gda_value_new_string): new function
+	(gda_value_new_time): new function
+	(gda_value_new_timestamp): new function
+	(gda_value_new_tinyint): new function
+
+	* libgda/gda-data-model.[ch] (gda_data_model_freeze):
+	(gda_data_model_thaw): new functions for disabling/enabling
+	notifications on changes
+
+	* libgda/gda-init.c (gda_init): move down the gettext initialization,
+	after the check for already initialized
+
+2001-11-05  Fatih Demir <kabalak gtranslator org>
+
+	* configure.in: Added "tr" to the languages list.
+
+2001-11-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/client.c: basic client API test
+
+	* testing/config.c (list_data_sources): added data source configuration
+	API test
+
+2001-11-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-client.[ch]: don't make it an object attached to a specific
+	provider, but make it the main entry point for GDA clients
+
+	* libgda/gda-config.[ch] (gda_config_get_data_source_list):
+	(gda_config_find_data_source):
+	(gda_config_copy_data_source_info):
+	(gda_config_free_data_source_info):
+	(gda_config_free_data_source_list): new functions
+
+2001-11-04  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/mysql/Makefile.am: Removed lib/ references.
+
+2001-11-04  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/gda-default-provider.[ch]:
+	* providers/default/gda-default.h, main.c: Started the implementation for GNOME 2
+
+2001-11-04  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* libgda/gda-init.c, Makefile.am: Adapted to use GLIB_GETTEXT.
+
+2001-11-04  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* libgda/gda-init.c: Added the call to bind_textdomain_codeset
+	to fix always UTF-8.
+
+2001-11-04  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* configure.in:
+	* Makefile.am:
+	* */*/Makefile.am: Migrated to intltool
+
+2001-11-04  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* acconfig.h, configure.in: Adapted to use GLIB_GETTEXT
+
+2001-11-04  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* AUTHORS: I'm the mantainer for gda-default.
+
+2001-11-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/models.c: GDA data models test suite
+
+	* testing/gda-test.c: re-started, to be more a test suite than a simple
+	test program
+
+	* testing/config.c: GDA configuration API test suite
+	(list_all_sections_and_keys): stress test of the configuration
+	database access API
+	(list_all_providers): test providers' info retrieval API
+
+	* testing/gda-test.h: new file
+
+2001-11-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/common/Makefile.am: added BONOBO_IDL_DIR for IDL compilation
+
+2001-11-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-data-model.[ch] (gda_data_model_get_column_title): new function
+
+	* libgda/Makefile.am: don't install headers in $includedir/gnome-2.0
+
+	* libgda/gda-value.c (gda_value_new): return the created structure
+
+	* libgda/gda-data-model-list.c (gda_data_model_list_get_type): this class
+	derives from GdaDataModel, not GObject
+
+	* libgda/gda-data-model.c (gda_data_model_get_n_rows): removed the extra
+	'_list' in the function name
+
+	* libgda/gda-config.c (gda_config_get_provider_list): add the retrieved
+	items to the list to be returned or we'll allways return NULL!
+	(activation_property_to_list): g_strdup the string to be added to
+	the returned GList
+
+2001-11-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.pc.in: adapted to new header locations
+
+	* Makefile.am: removed report from SUBDIRS, until we've got time
+	to make it build without errors
+
+2001-11-03  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/sqlite/lemon.c: Applied the patch from Akira TAGOH
+	<tagoh gnome-db org> to fix 64 bit pointer issues.
+
+2001-11-03  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/sqlite: Added from stable branch.
+
+2001-11-03  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* configure.in: Modified to build the Makefile for sqlite
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* tools/templates/*: removed, not needed anymore
+
+	* tools/Makefile.am: adapted to new locations
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/Makefile.am: removed non-existant _PROGRAMS, and fixed
+	s/GDA_CLIENT_/LIBGDA_
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/Makefile.am:
+	* report/common/Makefile.am:
+	* report/engine/Makefile.am: fixed for new locations
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/moved to new location, for not complicating more the
+	refactoring
+
+	* providers/mysql/utils.c: new file for utility functions
+	(gda_mysql_make_error): new function
+
+	* providers/mysql/Makefile.am: use libgda-2 instead of libgda-common-2 and
+	libgda-server-2
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/started restructuration with the new API
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/Makefile.am: changed directory names to something shorter
+	(s/gda-postgres-server/postgres)
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/gda-command.c (gda_command_new): s/gda_command_get_type/
+	gda_command_set_gdatype
+
+	* libgda/Makefile.am: added gda-log.[ch] to list of SOURCES
+
+	* libgda/gda-server.c (factory_callback): add all created componentes to
+	our private list, and connect to their "destroy" signal, so that we
+	can keep track of all components, and terminate when there are no
+	more
+	(component_destroyed_cb): callback function. When no more components
+	exist, emit the LAST_CLIENT_GONE signal
+
+	* libgda/gda-row.[ch]: new files
+
+	* libgda/gda-parameter.c (free_hash_param): added function body
+	(gda_parameter_list_add_parameter): added missing function
+
+	* libgda/gda-server-recordset.c (impl_Recordset_moveFirst):
+	(impl_Recordset_moveNext):
+	(impl_Recordset_movePrevious):
+	(impl_Recordset_moveLast):
+	(impl_Recordset_fetch): implemented
+
+	* libgda/gda-value.c (gda_value_copy): new function
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: bumped version to 0.9.0
+
+2001-11-02  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: removed tools/templates directory
+
+	* libgda.pc.in: new file to replace libgda-client.pc.in and
+	libgda-server.pc.in
+
+	* configure.in: use shorter names in providers' directories
+
+	* lib/: removed. The new library is in libgda/
+
+2001-11-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda/new version of the libraries, just all the stuff in a
+	libgda library
+
+2001-11-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/fixed typo
+
+2001-11-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* reorganization, putting all libraries in a single one
+
+2001-10-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/gda-primebase-test.c:
+	* testing/gda-sybase-test.c:
+	* testing/gda-tds-test.c: removed, we just want a generic test suite
+
+2001-10-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: set library AGE to 1
+
+	* Makefile.am: removed bindings from SUBDIRS. Those will need
+	a good bit of work when refactoring is completed
+
+	* configure.in: added GConf to list of libraries
+
+2001-10-29  Akira TAGOH <tagoh gnome-db org>
+
+	* report/Makefile.am: Added library age.
+
+2001-10-29  Akira TAGOH <tagoh gnome-db org>
+
+	* bindings/c++/Makefile.am: Added library age.
+
+2001-10-29  Akira TAGOH <tagoh gnome-db org>
+
+	* configure.in: Added library age variables.
+
+2001-10-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda-client.pc.in:
+	* libgda-server.pc.in: adapted to new header files installation
+
+2001-10-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: fixed
+
+2001-10-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added BONOBO_IDL_DIR variable, needed for IDL
+	compilation
+
+2001-10-26  Akira TAGOH <tagoh gnome-db org>
+
+	* providers/default/sqlite/lemon.c: Fixed 64 bit pointer issues again
+
+2001-10-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-provider.[ch]: new class for implementing the
+	GdaServerProvider abstract class
+
+2001-10-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database.idl: added the ::Client interface, to be used by
+	providers to communicate stuff to clients
+
+2001-10-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/started refactoring to make use of the new gda-server library
+
+2001-10-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/Makefile.am: install IDL files in $datadir/idl/libgda
+
+	* idl/GNOME_Database.idl: some fixes, and added ::Listener interface, and
+	related methods in the ::Provider interface
+
+2001-10-11  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda-client.pc.in:
+	* libgda-server.pc.in: re-added, shouldn't have been removed
+
+2001-10-11  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/sqlite/*
+	* providers/default/Makefile.am: Imported the sqlite 2.0.2. This version need an update
+	of the old database, I will prepare a program to do the update soon.
+
+2001-10-10  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* providers/default/Makefile.am: Fixed the sqlite.h build problem.
+
+2001-10-08  Abel Cheung  <maddog linux org hk>
+
+	* configure.in: CERTIFIED_GNOMIE, bye-bye.
+
+2001-10-07  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/*.idl: started refactoring on the IDL interfaces
+
+2001-09-20  Akira TAGOH <tagoh gnome-db org>
+
+	* providers/default/sqlite/tool/lemon.c: Fixed 64 bit pointer issue
+
+2001-09-15  Akira TAGOH <tagoh gnome-db org>
+
+	* configure.in: add --enable-gtk-doc option.
+
+2001-09-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: check for glib-genmarshal
+
+2001-09-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/reference/*: added a reference to the new GdaDataModel class
+
+2001-09-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* first complete compilation on GNOME 2
+
+2001-09-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/gda-report-client.[ch]: converted to GObject
+
+	* report/common/: new directory for libgdareport-common
+
+2001-08-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* tools/gda-run.c: remove all GTK related code
+
+2001-08-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/first successful compilation on a GNOME 2 environment
+
+2001-08-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: call gnome-autogen.sh
+
+2001-08-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/gda-xmldb-test.c: new test program to test the GdaXmlDatabase
+	class
+
+2001-08-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/reference/*: moved GdaField documentation to libgda-common section
+
+2001-08-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GNOME_Database_Field.idl: replaced the use of unions with cleaner
+	CORBA_any's, and removed redundat data types
+
+2001-08-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GDA*.idl -> GNOME_Database*.idl
+
+2001-08-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: use AM_GLIB_GNU_GETTEXT
+
+2001-08-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/reference/Makefile.am: s/gda-xml-file/gda-xml-document
+
+2001-08-03  gallatin stat duke edu
+
+	* providers/default/sqlite/tool/lemon.c: fixed int/long 64-bit pointer issues when
+	building on FreeBSD/Alpha. Fixes #58391
+
+2001-08-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* tools/gda-config.in: removed, since it's not needed anymore
+
+2001-08-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: adapted to GNOME 2 platform
+
+	* libgda-client.pc.in, libgda-server.pc.in: added pkgconfig files
+
+2001-07-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/reference/*: fixed to make it build again
+
+2001-07-28  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* configure.in: Reactivated the Makefile generation at report dirs.
+	Added the IDL_FLAGS var.
+
+2001-07-27  Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/gda-report.h: main header file for the report library
+
+	* report/gda-report-client.[ch]: GdaReportClient class, to be used by
+	applications to connect to report engine
+
+2001-07-24  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GDA_Recordset.idl: removed "move" method and added "moveNext" and
+	"movePrev"
+
+2001-07-23  Rodrigo Moya <rodrigo gnome-db org>
+
+	* removed all GLib-2.0 related code, since all this code is now
+	in the gnome-2-0-branch CVS branch
+
+2001-07-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: remove glib-2.0 check until we can compile
+	everything with that version
+
+2001-07-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-connection.c (schema_aggregates): new schema function
+
+2001-07-19  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/Makefile.am: Reverted the changes about IDL's name.
+
+2001-07-19  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/*.[ch]: Removed, need a heavy reimplementation.
+
+2001-07-19  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/server: renamed to engine and reimplemented all.
+	
+
+2001-07-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-connection.c (gda_mysql_connection_open_schema): return
+	a GdaError if we don't support the schema
+
+	(gda_mysql_connection_open): use a GdaQuarkList to parse the
+	connection string
+
+2001-07-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-connection.c (gda_default_connection_open_schema): return
+	a GdaError if we don't support the schema
+
+2001-07-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GDA_Connection.idl: added 2 new methods (addListener and
+	removeListener) for clients to be able to listen on the providers
+
+2001-07-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/reference/libgda-client/: fixed references to non-existent files
+
+2001-07-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* bindings/perl/: removed all files from the old perl bindings, since now
+	the perl bindings have their own module (libgda-perl)
+
+2001-07-12  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: remove Perl checkings, since they are no longer
+	needed
+
+	* acconfig.h: remove HAVE_PERL
+
+2001-07-09  Akira TAGOH <tagoh gnome-db org>
+
+	* configure.in: added --with-perl option as check the perl bindings.
+
+2001-07-08  Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GDA_Listener.idl: new interface
+
+2001-07-08  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* testing/gda*test.c: Changed the use of getline with fgets. It must
+	fix the #51404
+
+2001-07-06  Rodrigo Moya <rodrigo gnome-db org>
+
+	* merged libgda-client's GdaError and libgda-server's GdaServerError
+	into libgda-common's GdaError, as both classes were exactly the
+	same and are useful for both clients and providers
+
+2001-07-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/adapted all providers to new API names in libgda-server
+
+2001-07-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* lib/gda-client/Makefile.am:
+	lib/gda-server/Makefile.am: remove CORBA-generated files from
+	build
+
+	* lib/gda-common/Makefile.am: include here both CORBA skeletons
+	and stubs
+
+2001-07-02  Akira TAGOH <tagoh gnome-db org>
+
+	* configure.in: since gettextize was not used, "sed -e ..." was
+	removed from AC_OUTPUT.
+
+2001-06-28  Vivien Malerba <malerba gnome-db org>
+
+	* providers/mysql/started to implement the schema_types and data types management
+
+2001-06-21  Bob Jones <bobjones68 yahoo com>
+
+	* configure.in: change (again) ORACLE_LIBS and ORACLE_CFLAGS. It
+	seems now that this will work with both Oracle 8i and 9i
+
+2001-06-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: use again `oaf-config --prefix` for getting the
+	OAF files install prefix. This would break the RPM building, so
+	how other projects do this?
+
+2001-06-19  Gonzalo Odiard <gonza_asa asatej com ar>
+
+	* configure.in: set ORACLE_LIBS to work with Oracle 8i
+
+2001-06-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* lib/gda-xml: added new directory which will contain all XML
+	related code (GdaXmlFile, GdaXmlDatabase, XML queries, etc)
+
+2001-06-14  Robert Marz <Robert Marz oracle com>
+
+	* configure.in: changed ORACLE_CFLAGS and ORACLE_LIBS to match
+	those needed for Oracle 8i. This means that we don't support
+	anymore Oracle 8.0.x (until we find a way to detect which
+	libraries are needed for each Oracle version). But, well, having
+	Oracle 9i out in a few weeks, this does not seem to be very
+	important (I hope)
+
+2001-06-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/sqlite/configure.in: added /usr to the search list for gdbm.h
+
+2001-06-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.spec.in: remove xmlquery from list of programs to install
+	* configure.in: disable the libxmlquery directory
+
+2001-05-31  Serge Pavlovsky <pal re com ua>
+
+	* libgda.spec.in: cleaned up spec file
+
+2001-05-31  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/es/added Spanish translation of the libgda manual by
+	David Vaquero <cncsal bigfoot com>
+
+2001-05-29  Drazen Kacar <dave arsdigita com>
+
+	* configure.in: fixed some constructs that are not understood
+	by Solaris' /bin/sh.
+	Run glib-config-2.0 in a subshell, for not getting the error message
+	* tools/gda-buildserver.in: added a newline to the end of file to
+	make Solaris' sed happy
+	(fixes bug #55388)
+
+2001-05-22  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda-spec.in: pass the (hopefully) correct oafdir value
+	when calling make
+
+2001-05-21  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: check also for shared libs when looking for a MySQL
+	installation
+	added /usr/local/pgsql to list of possible PostgreSQL installation
+	directories
+	(fixes bug #54979)
+
+2001-05-19  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/gda-report*.h: Reviewed and corrected some mistakes.
+	* report/Makefile.am: Added the new .h files.
+	
+2001-05-18  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/gda-report*header.h, gda-report*footer.h, gda-report-detail.h,
+	  gda-report-data.h, gda-report-page.h, gda-report-picture.h,
+	  gda-report-line.h, gda-report-element.h, gda-report-label.h,
+	  gda-report-object.h, gda-report-repfield.h, gda-report-section.h,
+	  gda-report-special.h, gda-report-text-object.h: Defined
+	* report/gda-report-element.h, gda-report-engine.h, gda-report.h: Updated to the new IDL.
+	* report/gda-report-client.h: Added the new .h files.
+	* report/gda*.c: Don't compile now, please wait I will commit the correct ones soon.
+	
+
+2001-05-17  Sean Allen <zeroone worldonline co za>
+
+	* doc/C/libgda.sgml: worked on syntax and English, entity referenced
+	most words, to include markup that may be useful with speech-based
+	styles, markup and structure now conforms to GDP suggestions
+	* doc/C/fdl-appendix.sgml: added FDL appendix
+
+2001-05-17  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: only link libxslt with the XML query part, since
+	linking with libxml2 (needed by libxslt) does not work with
+	current Bonobo
+
+2001-05-16  Carlos PerellÂÃÂÂ MarÂÃÂÂn <carlos gnome-db org>
+
+	* report/gda-report-defs.h: Updated.
+	* report/gda-report-section.h: Added and started the implementation...
+
+2001-05-15  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added check for libxslt, now a required dependency
+	for the libxmlquery
+	* lib/gda-common/gda-xml-database.c: s/childs/xmlChildrenNode
+	* lib/gda-common/gda-xml-file.c: s/root/xmlDocSetRootElement
+
+2001-05-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-recordset.c (fill_field_values): also manage
+	BLOB fields
+
+2001-05-14  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/C/reference/libgda-common/tmpl/:
+	added some descriptions
+	C/reference/libgda-client/tmpl/: ditto
+
+2001-05-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/C/reference/libgda-client/: added the client library to
+	the API reference
+	* doc/C/pt_BR: added Portuguese translation
+	* doc/C/C/reference: use gtk-doc to generate the API reference
+	(for the moment, only libgda-common)
+
+2001-05-09  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added check for gtk-doc, and add reference/ to
+	the list of directories
+
+2001-05-07  Reinhard MÂÃÂÂller  <reinhard mueller bytewise at>
+
+        * gda-test.c: Applied Margus VÂÃÂÂli's patch to let the user select
+        the provider to use if more than one provider is installed
+
+        * gda-test.c: Changed coding style to K&R with 8 char indentation
+
+2001-05-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-connection.c (schema_tables): implemented, although
+	only returning the tables' name
+
+2001-05-05  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/libgda.sgml: re-added the section about provider's
+	specific information
+
+2001-05-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/gda-default-connection.c, gda-default-command.c: better
+	error handling
+	* providers/default/sqlite/NO-AUTO-GEN: added this file to avoid the execution of
+	auto* in this directory (fixed by mvali hot ee and
+	Jon Hellan clustra com)
+
+2001-05-04  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: use AM_GNU_GETTEXT instead of AM_GNOME_GETTEXT
+
+2001-05-03  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/gda-default-server/*: basic default provider
+	now working
+
+2001-04-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/implemented first working version of the GDA default
+	provider
+	* providers/default/imported libsqlite (http://www.hwaci.com/sw/sqlite/) into
+	our source tree, until it is oficially released
+
+2001-04-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/default/started gda-default-server, which will be a server *always*
+	installed with libgda, so that users don't have to worry about
+	setting up a RDBMS to use GNOME-DB/libgda
+
+2001-04-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/ChangeLog: added
+	* providers/made all providers' libraries not being installed, since,
+	for the moment, the CORBA servers can't be activated on the
+	shared library, they need the driver program
+
+2001-04-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* bindings/c++/applied patch from Kuba (kpuchar poczta onet pl) which wraps
+	all C++ classes in the gda namespace
+
+2001-04-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* configure.in: added providers/gda-default-server to list
+	of Makefiles to be generated
+
+2001-04-28  Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.spec.in: removed provider's libraries, which are
+	not installed anymore as part of the packages
+
+2001-04-25  Carlos Perells Marmn <carlos gnome-db org>
+
+	* Makefile.am: Disabled the report build.
+
+2001-04-14  Michael Meeks  <michael ximian com>
+
+	* report/Makefile.am: remove built files from dist.
+
+2001-04-02  Carlos Perells Marmn <carlos gnome-db org>
+
+	* .cvsignore: Shhhh!!!
+
+2001-03-28  Reinhard M|ller  <reinhard mueller bytewise at>
+
+	* include gtk/gtksignal.h only when gtk is used.
+	* added new parameter to g_type_register_static
+	* configure.in: glib version must be >= 1.3.2
+	* tools/gda-run.c: include config.h above other includes
+
+2001-03-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* replaced all gtk/gtk.h with gtkobject.h, since it's the only
+	file needed. Now, should compile much faster
+
+2001-03-13  Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/mysql/gda-mysql-connection.c (gda_mysql_connection_supports): respond to more
+	values in the GDA_Connection_Feature parameter
+	* providers/mysql/gda-mysql-command.c: added support for command_type in
+	gda_mysql_command_execute: fixes bug #51720
+
+2001-03-10  Carlos Perells Marmn <carlos gnome-db org>
+
+        * updated.sh: Removed because don't run correctly in all
+          situations, please use xml-i18n-update directly.
+
+2001-03-05	Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/added COMMAND_TYPE_XML to the GDA_CommandType enum
+
+2001-03-03  Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/Makefile.am: Added the new files.
+	* report/gda-report*.[ch]: Updated, now all the objects are defined,
+	  but now I will do a major change to the IDL for include the
+	  report objects inside the IDL. Rodrigo I know that we talk
+	  about it and we saw that the actual IDL was right, but I
+	  have been thinking about it, so I will send a modification
+	  proposal shortly ;-).
+
+2001-02-22  Carlos Perells Marmn <carlos gnome-db org>
+
+	* libgda.spec.in: Updated to reflect the .oafinfo --> .oaf change
+
+2001-02-18  Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/gda-report.[hc]: Almost completly implemented but at this momment
+	  it doesn't compile, so don't add it to Makefile.am.
+	* report/gda-report-engine.c: Some bug fixes.
+
+2001-02-18  Carlos Perells Marmn <carlos gnome-db org>
+
+	* AUTHORS: Updated my email.
+
+2001-02-18  Carlos Perells Marmn <carlos gnome-db org>
+
+	* configure.in: Added a version check for GOB, I don't know
+	  if we must have the 1.0.5 version, perhaps an old one could
+	  work, but it must be almost >= than 0.93.4 (actual Ximian version)
+
+2001-02-14	Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/GDA_Connection.idl: added new conversion methods
+	(xml2sql and sql2xml)
+	* lib/gda-client/gda-connection.[ch],
+	lib/gda-server/*, providers/*: added new IDL methods
+
+2001-02-11	Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/gda-primebase-server/gda-primebase-connection.c,
+	providers/gda-tds-server/gda-tds-connection.c: removed some C++
+	comments, as the ones containing the ' character makes xgettext
+	complain (from Christian Rose's patch)
+
+2001-02-08	Rodrigo Moya <rodrigo gnome-db org>
+
+	* libgda.spec.in: moved gda-run from libgda-devel to libgda
+
+2001-02-06	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/gda-report.[ch]: More updates
+
+2001-02-06	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/gda-report.h: Renamed to gda-report-client.h
+	* report/gda-report-object.[ch]: Renamed to gda-report.[ch]
+
+2001-02-06	Carlos Perells Marmn <carlos gnome-db org>
+
+	* .cvsignore, Makefile.am: Updated to the new xml-i18n-tools
+
+2001-01-31      Carlos Perells Marmn <carlos gnome-db org>
+
+        * gda-report-object.[ch]: Started its implementation
+
+2001-01-30	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/gda-report*.[ch]: Modified to the GNOME codify style
+
+2001-01-22      Carlos Perells Marmn <carlos gnome-db org>
+
+        * Added total xml-i18n-tools support, at this moment
+          you will need install the xml-i18n-tools package to
+          translate this module from CVS but not from tar.gz.
+
+2001-01-22	Carlos Perells Marmn <carlos gnome-db org>
+
+	* .cvsignore: I forget it!!
+
+2001-01-20      Carlos Perells Marmn <carlos gnome-db org>
+
+        * Added partial xml-i18n-tools support
+
+2001-01-19  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/removed lang="es" from <book> tag
+
+2001-01-15	Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/fixed header files issue
+
+2001-01-14	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/gda-report-stream.c: minor updates.
+
+2001-01-14	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/gda-report-stream.[ch]: Implemented, only need the exception handling
+	  and a better errors control.
+	* report/gda-report-enbine.[ch]: Added all the objetc stuff and as gda-report-stream.[ch]
+	  needs a better errors control and the exception handling.
+
+2001-01-09	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/more Makefile.am fixes and minor modifications...
+
+2001-01-08	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/Rolled back the last change because it's better the old
+	  namespace. With the new one we have something like:
+	  GDA_Report_Report, and is a bit confusing, isn't it?
+
+2001-01-07	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/idl/GDA_Report.idl: Modified to separate the Report engine
+	  into its own namespace (GDA_Report_*).
+	* report/*.[ch] Updated to use the new IDL.
+	* report/Makefile.am: Added the options to remove the source files generated
+	  by the idl compiler.
+
+2001-01-05	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/gda-report-stream.[ch]: Updated to use the Gnome's
+	  codify style.
+
+2001-01-01  Rodrigo Moya <rodrigo gnome-db org>
+
+	* tools/gda-buildserver.in: fixed auto* macros expansion
+	* tools/templates/*: updated to recent changes in libgda-server API
+
+2001-01-01	Rodrigo Moya <rodrigo gnome-db org>
+
+	* version 0.2.2
+
+2000-12-25	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/updated gda-report-stream.[ch] to make them compile again.
+	* report/included the lib/gda-client directory for header files in
+	  Makefile.am
+
+2000-12-24	Carlos Perells Marmn <carlos gnome-db org>
+
+	* report/updated & erased the client/'s files that Rodrigo
+	  moves to its correct place.
+
+2000-12-22	Rodrigo Moya <rodrigo gnome-db org>
+
+	* providers/gda-interbase-server/gda-interbase-command.c,
+	providers/gda-ldap-server/gda-ldap-command.c,
+	providers/gda-mail-server/gda-mail-command.c,
+	providers/gda-mysql-server/gda-mysql-command.c,
+	providers/gda-oracle-server/gda-oracle-command.c:
+	added support for the GDA_CommandType stuff in the GDA::Command::execute
+	method, thus allowing:
+		COMMAND_TYPE_TEXT: SQL or whatever language is used by the RDBMS
+		COMMAND_TYPE_TABLE: the name of a table for which we want all rows
+		
+
+2000-12-21	Rodrigo Moya <rodrigo gnome-db org>
+
+	* added support for the GDA_CommandType stuff, which will
+	allow to treat commands in different ways (SQL, TABLE,
+	XML, etc)
+
+2000-12-20  Stanislav Visnovsky  <visnovsky nenya ms mff cuni cz>
+
+	* configure.in: Added Slovak [sk] to ALL_LINGUAS.
+
+2000-12-13	Rodrigo Moya <rodrigo gnome-db org>
+
+	* added HACKING file, copied from Miguel's HACKING file
+	in Gnumeric
+
+2000-12-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* doc/C/fixed some outdated things
+
+2000-12-05	Rodrigo Moya <rodrigo gnome-db org>
+
+	* started Perl bindings
+
+2000-11-27	Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/added modifySchema method to the GDA::Connection interface
+
+2000-11-27	Rodrigo Moya <rodrigo gnome-db org>
+
+	* added modifySchema method to GDA::Connection interface
+
+2000-11-27	Holger Thon <holger thon gnome-db org>
+
+	* added primebase server skeleton
+
+2000-11-22	Rodrigo Moya <rodrigo gnome-db org>
+
+	* idl/removed GDA_Fieldx, which is now GDA_Field, as the old
+	GDA_Field.idl file was not used
+
+2000-11-17	Rodrigo Moya <rodrigo linuxave net>
+
+	* added MAINTAINERS file
+
+2000-11-15  Rodrigo Moya <rodrigo linuxave net>
+
+	* tools/fixed gda-config script
+
+2000-11-14	Rodrigo Moya <rodrigo linuxave net>
+
+	* added pt_BR translations by Cleber Rodrigues Rosa Junior
+
+2000-11-12	Rodrigo Moya <rodrigo gnome-db org>
+
+	* report/fixed gda-report-stream.[ch] to make them compile
+	* report/moved the 2 files that were in the client/ subdirectory
+	to its correct place
+
+2000-11-10  Rodrigo Moya <rodrigo gnome-db org>
+
+	* testing/moved gda-{sybase/tds/primebase}-test to noinst_PROGRAMS,
+	since they shouldn't be installed
+
+2000-11-08	Rodrigo Moya <rodrigo linuxave net>
+
+	* idl/GDA_Recordset.idl, lib/gda-client/gda-recordset.[ch],
+	lib/gda-server/gda-server-impl-recordset.[ch]: removed unneeded
+	CORBA IDL methods.
+	* Cleanup IDL files
+
+2000-11-05	Rodrigo Moya <rodrigo linuxave net>
+
+	* report/removed some attributes from the IDL interfaces and
+	added methods for accessing them instead
+
+2000-11-05	Rodrigo Moya <rodrigo linuxave net>
+
+	* idl/renamed all IDL files from gda* to GDA* to avoid confusion with
+	installed headers
+
+2000-11-04  Reinhard M|ller  <reinhard gnue org>
+
+	* configure.in: include gtk libraries only when needed
+
+2000-11-02  Reinhard M|ller  <reinhard gnue org>
+
+	* testing/gda-test.c: Call gda_init instead of gtk_init
+
+2000-10-30  Rodrigo Moya <rodrigo linuxave net>
+
+	* doc/added Brazilian Portuguese translation by
+	Cleber Rodrigues Rosa Junior (<cleberrrjr bol com br>)
+
+2000-10-29	Rodrigo Moya <rodrigo linuxave net>
+
+	* report/idl/GDA_Report.idl: changed return value for
+	ReportStream methods from any to a sequence of "octet"s
+
+2000-10-22  Carlos Perells Marmn <carlos hispalinux es>
+
+	* report/Updated some report client objects and upgraded to
+	the new GObject model
+
+2000-10-21  Rodrigo Moya <rodrigo linuxave net>
+
+	* providers/mysql/added missing <time.h>, which was left over after
+	the GNOME headers clean up
+
+2000-10-20	Rodrigo Moya <rodrigo linuxave net>
+
+	* fixed license issues:
+	AUTHORS: specify who does what
+	COPYING.LIB: added for LGPL parts
+	README: state which parts are LGPL and which GPL
+
+2000-10-17  Almer S. Tigelaar  <almer1 dds nl>
+
+	* configure.in: Added Dutch (nl) to ALL_LINGUAS.
+
+2000-10-08  Akira TAGOH <tagoh gnome gr jp>
+
+	* providers/gda-mysql-server/gda-mysql-connection.c:
+	  fixed duplicate output format for gda_log_message().
+
+2000-10-06  Christian Rose  <menthos menthos com>
+
+	* configure.in: Added Swedish (sv) to ALL_LINGUAS.
+
+	* providers/gda-sybase-server/gda-sybase-command.c,
+	  providers/gda-sybase-server/gda-sybase-connection.c,
+	  providers/gda-sybase-server/gda-sybase-recordset.c:
+	  Changed some C++-style comments causing gettext problems to C-style.
+
+2000-10-01  Carlos Perells Marmn <carlos hispalinux es>
+
+	* report/Created an example for the report engine..
+
+2000-09-29  Akira TAGOH <tagoh gnome gr jp>
+
+	* acconfig.h, configure.in, lib/gda-common/gda-config.c:
+	  lib/gda-common/gda-corba.c: removed a old code for OAF < 0.5.0.
+
+2000-09-29  Akira TAGOH <tagoh gnome gr jp>
+
+	* configure.in:
+	  lib/gda-common/gda-config.c: GConf >= 0.9 is necessary.
+
+2000-09-28  Jesus Bravo Alvarez  <jba pobox com>
+
+	* configure.in: Added Galician (gl) to ALL_LINGUAS.
+
+2000-09-25  Reinhard M|ller  <reinhard gnue org>
+
+	* testing/Makefile.am, gda-test.c: First "official" version
+
+2000-09-25  Akira TAGOH <tagoh gnome gr jp>
+
+	* po/POTFILES.in: not implement python binding.
+
+2000-09-10  Akira TAGOH <tagoh gnome gr jp>
+
+	* configure.in: deleted lib/gda-client/gda-report.dtd entry.
+
+	* lib/gda-client/Makefile.am: Added a rule to generate gda-report.dtd.
+
+	* lib/gda-client/gda-report.dtd.in: Modified a path prefix.
+
+2000-09-09  Carlos Perells Marmn <carlos hispalinux es>
+
+	* integrated the gda-report.dtd with autoconf (but it
+	  does not work as well as it should.
+
+	* updated to the gda-report.[ch]
+ 
+2000-09-03  Carlos Perells Marmn <carlos hispalinux es>
+
+	* updated the gda-report.[ch] for the new DTD
+
+2000-09-02  Akira TAGOH <at ue-spacy com>
+
+	* configure.in: deleted an USING_OLD_OAF judgment by the same version.
+
+2000-08-08  Rodrigo Moya <rodrigo linuxave net>
+
+	* made first version separated from GNOME-DB
+

Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am	(original)
+++ trunk/Makefile.am	Tue Mar 17 21:29:28 2009
@@ -62,7 +62,13 @@
 	samples/XSLT/data.xml \
 	samples/XSLT/data2.xml \
 	samples/XSLT/test.xsl \
-	samples/XSLT/transform.c
+	samples/XSLT/transform.c \
+	samples/MetaStore/Makefile \
+	samples/MetaStore/README \
+	samples/MetaStore/example.c \
+	samples/Tree/Makefile \
+	samples/Tree/README \
+	samples/Tree/example.c
 
 EXTRA_DIST = \
 	COPYING \

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Tue Mar 17 21:29:28 2009
@@ -1522,6 +1522,7 @@
 doc/Makefile
 doc/C/Makefile
 doc/C/libgda-4.0.types
+doc/C/version.xml
 data/Makefile
 stamp.h
 ])

Modified: trunk/doc/C/Makefile.am
==============================================================================
--- trunk/doc/C/Makefile.am	(original)
+++ trunk/doc/C/Makefile.am	Tue Mar 17 21:29:28 2009
@@ -22,7 +22,7 @@
 CFILE_GLOB=
 
 # Header files to ignore when scanning
-IGNORE_HFILES= config.h acconfig.h gda-intl.h gda-marshal.h
+IGNORE_HFILES= gda-marshal.h gda-custom-marshal.h gda-enum-types.h sqlite3.h csv.h md5.h
 
 # CFLAGS and LDFLAGS for compiling scan program. Only needed
 # if $(DOC_MODULE).types is non-empty.
@@ -40,7 +40,7 @@
 	$(LIBGDA_LIBS)
 
 # Extra options to supply to gtkdoc-mkdb
-MKDB_OPTIONS=--sgml-mode --output-format=xml --ignore-files="lexer.c"
+MKDB_OPTIONS=--sgml-mode --output-format=xml --ignore-files="parser.c binreloc.c libcsv.c md5c.c"
 
 # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
 content_files = fdl-appendix.sgml 
@@ -54,7 +54,8 @@
 	data_validation_holder.png data_validation_proxy.png data_validation_set.png \
 	data_proxy1.png data_proxy2.png data_proxy3.png data_proxy4.png data_proxy5.png \
 	gda-sql-graph.png howto-exec.png \
-	parser_gen.png parser_prov.png
+	parser_gen.png parser_prov.png \
+	tree-overview.png tree-overview2.png
 
 # Extra options to supply to gtkdoc-fixref
 FIXXREF_OPTIONS=
@@ -67,7 +68,8 @@
 	prov-writing.xml i_s_doc.xml howto.xml gda-sql-manual.xml data_validation.xml data_select.xml \
 	DataModels.svg \
 	architecture.svg parts.svg stmt-unknown.svg stmt-select.svg stmt-insert1.svg stmt-insert2.svg \
-	stmt-update.svg stmt-compound.svg information_schema.svg howto-exec.svg
+	stmt-update.svg stmt-compound.svg information_schema.svg howto-exec.svg \
+	version.xml.in
 
 # Files not to distribute
 # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types

Modified: trunk/doc/C/libgda-4.0-docs.sgml
==============================================================================
--- trunk/doc/C/libgda-4.0-docs.sgml	(original)
+++ trunk/doc/C/libgda-4.0-docs.sgml	Tue Mar 17 21:29:28 2009
@@ -2,6 +2,7 @@
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
      "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
 <!ENTITY nbsp            " ">
+<!ENTITY version SYSTEM "version.xml">
 <!ENTITY LIBGDA          "<application>Libgda</application>">
 <!ENTITY GNOMEDB         "<application>GNOME-DB</application>">
 <!ENTITY igalia          '<emphasis><ulink url="http://www.igalia.com";>Igalia, S.L.</ulink></emphasis>'>
@@ -114,11 +115,20 @@
 <!ENTITY libgda-TreeIndex SYSTEM "xml/tree_index.sgml">
 <!ENTITY GdaSqlManual SYSTEM "gda-sql-manual.xml">
 <!ENTITY GdaAttributesManager SYSTEM "xml/gda-attributes-manager.xml">
+<!ENTITY libgda-GdaTree SYSTEM "xml/gda-tree.xml">
+<!ENTITY libgda-GdaTreeManager SYSTEM "xml/gda-tree-manager.xml">
+<!ENTITY libgda-GdaTreeNode SYSTEM "xml/gda-tree-node.xml">
+<!ENTITY libgda-GdaTreeMgrLabel SYSTEM "xml/gda-tree-mgr-label.xml">
+<!ENTITY libgda-GdaTreeMgrSelect SYSTEM "xml/gda-tree-mgr-select.xml">
+<!ENTITY libgda-GdaTreeMgrSchemas SYSTEM "xml/gda-tree-mgr-schemas.xml">
+<!ENTITY libgda-GdaTreeMgrTables SYSTEM "xml/gda-tree-mgr-tables.xml">
+<!ENTITY libgda-GdaTreeMgrColumns SYSTEM "xml/gda-tree-mgr-columns.xml">
 ]>
 
 <book id="index">
   <bookinfo>
-    <title>GNOME Data Access 4.0 manual</title>
+    <title>GNOME Data Access 4 manual</title>
+    <releaseinfo>for version &version;</releaseinfo>
     <authorgroup>
       <author>
         <firstname>Michael</firstname>
@@ -419,7 +429,7 @@
     &limitations;
   </part>  
   <part id="part_libgda_api">
-    <title>Client API reference</title>
+    <title>API reference</title>
     <para>
       The following sections describe the API available for &GDA; applications.
     </para>
@@ -612,6 +622,170 @@
       &libgda-GdaDataComparator;
     </chapter>
 
+    <chapter id="trees">
+      <title>Trees</title>
+      <para>
+	&LIBGDA; supports data organized hierarchically in a tree. The specific aspect of this object is that
+	one does not actually create nodes in it directly, but rather specifies the tree structure (ie. what
+	top level nodes represent, whan their children represent, ...) using 
+	<link linkend="GdaTreeManager">GdaTreeManager</link> objects: any node in the tree
+	is managed by one and only one such object. This approach makes it very easy to produce trees organized
+	around repetitive data coming from a database. So again, one does not create or remove nodes in a tree,
+	but asks that the tree be specifically updated, in part or starting from a specific node (note that
+	nodes can also be added and removed on events depending on each GdaTreeManager object).
+      </para>
+      <para>
+	A tree is represented by a
+	unique <link linkend="GdaTree">GdaTree</link> object,
+	in which each node is represented by a <link linkend="GdaTreeNode">GdaTreeNode</link> object. As mentionned previously, any
+	<link linkend="GdaTreeNode">GdaTreeNode</link> in a <link linkend="GdaTree">GdaTree</link> is created (and destroyed)
+	by a <link linkend="GdaTreeManager">GdaTreeManager</link> object: the nodes hierarchy itself is
+	represented by a hierarchy of <link linkend="GdaTreeManager">GdaTreeManager</link> objects
+	(with the one(s) managing the nodes immediately under the tree root attached to the <link linkend="GdaTree">GdaTree</link>
+	itself and the others attached to the <link linkend="GdaTreeManager">GdaTreeManager</link> which act as their parent).
+      </para>
+
+      <para>
+	When populating a tree (or updating a part of it), a <link linkend="GdaTreeManager">GdaTreeManager</link> 
+	is requested to create (or update) nodes
+	below a parent node. For any node it creates (or updates), and for any sub tree managers it has, it
+	requests those sub managers to populate (or update) the sub nodes of that node; this is a recursive process. Note that
+	the tree manager itself does not store any information about the nodes it has created (this information is stored in
+	the <link linkend="GdaTreeNode">GdaTreeNode</link> themselves): it is stateless
+	(much in the same way as the <link linkend="GtkCellRenderer">GtkCellRenderer</link> objects are stateless in a
+	<link linkend="GtkTreeView">GtkTreeView</link> widget).
+      </para>
+
+      <para>
+	The following figure illustrates a simple tree:
+	<mediaobject>
+          <imageobject role="html">
+            <imagedata fileref="tree-overview.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase>Overview of the GdaTree</phrase>
+          </textobject>
+	</mediaobject>
+	The tree has 3 top level nodes (labelled "Node 0", "Node 1" and "Node 2" in the schema), which have been created
+	by the GdaTreeManager labelled "GdaTreeManager 0". These top level nodes have sub 
+	nodes (two for the "Node 0" and "Node 1", and none for "Node 2") which have been created by
+	the GdaTreeManager labelled "GdaTreeManager 1"
+      </para>
+      <para>
+	The following figure illustrates a mode complicated tree which, when dumped is (truncated here for readability):
+	<programlisting>
+.
+|-- information_schema
+|   |-- sql_features
+|   |   |-- feature_name
+|   |   `-- feature_id
+|   `-- sql_parts
+|       |-- comments
+|       `-- feature_id
+|-- public
+|   |-- customers
+|   |   |-- name
+|   |   `-- id
+|   `-- products
+|       |-- name
+|       `-- ref
+|-- customers
+|   |-- name
+|   `-- id
+`-- products
+    |-- name
+    `-- ref
+	</programlisting>
+	<mediaobject>
+          <imageobject role="html">
+            <imagedata fileref="tree-overview2.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase>Overview of the GdaTree</phrase>
+          </textobject>
+	</mediaobject>
+	The tree has 4 top level nodes ("information_schema", "public" which in fact represent schemas in a PostgreSQL database
+	and "customers" and "products" which are the tables in the "public" schema). Two GdaTreeManager objects are
+	associated to the GdaTree object: the <link linkend="GdaTreeMgrSchemas">GdaTreeMgrSchemas</link> manager (which
+	creates nodes for each schema in a database) and the <link linkend="GdaTreeMgrTables">GdaTreeMgrTables</link>
+	manager (which creates nodes for each table in a schema, or, if no schema is specified creates nodes for
+	each table visible by default).
+	Here the <link linkend="GdaTreeMgrSchemas">GdaTreeMgrSchemas</link> manager created the "information_schema" and "public"
+	top level nodes and the <link linkend="GdaTreeMgrTables">GdaTreeMgrTables</link> manager created the
+	"customers" and "products" top level nodes.
+      </para>
+      <para>
+	The topmost GdaTreeMgrSchemas tree manager object has a child tree manager which is also a GdaTreeManagerTables
+	(and which here is the same object as the GdaTreeManagerTables object which created two of the top level nodes
+	to avoid the unnecessary complication of creating too many tree manager objects). This GdaTreeManagerTables object
+	created the "sql_features", "sql_parts" nodes below the "information_schema" node and the "customers" and
+	"products" nodes below the "public" node.
+      </para>
+      <para>
+	As the GdaTreeManagerTables object also has a child tree manager, the 
+	<link linkend="GdaTreeMgrColumns">GdaTreeMgrColumns</link> manager, some nodes are created below the "customers"
+	nodes and below the "products" nodes (some of these nodes are not represented in the figure above for
+	clarity).
+      </para>
+      <para>
+	As illustrated on the figure above, tree nodes can be assigned named attributes as <link linkend="GValue">GValue</link>
+	values. For instance the <link linkend="GdaTreeMgrSchemas">GdaTreeMgrSchemas</link> manager sets the "schema" attribute
+	to the nodes it creates, the <link linkend="GdaTreeMgrTables">GdaTreeMgrTables</link> manager sets the "table_name"
+	attribute (and the "schema" attribute if the node has been created as a table which is visible by default) and
+	the <link linkend="GdaTreeMgrColumns">GdaTreeMgrColumns</link> manager sets the "column_name" attribute to the nodes
+	it creates.
+      </para>
+      <para>
+	Node attributes can be read and changed at will by the programmer, and are used extensively by the
+	tree manager objects themselves to determine the nodes they nees to create as children of a given node. For example
+	the <link linkend="GdaTreeMgrTables">GdaTreeMgrTables</link> manager, uses
+	<link linkend="gda-tree-node-fetch-attribute">gda_tree_node_fetch_attribute()</link> to get the
+	"schema" attribute from the node below which it has to create children nodes. If the attribute exists, it
+	then creates a node for each table in the mentionned schema, and otherwise creates a node for each table
+	visible by default.
+      </para>
+      <para>
+	The code to set up this tree would be the following one:
+	<programlisting>
+GdaConnection *cnc = ...
+GdaTree *tree;
+GdaTreeManager *schemas_mgr, *tables_mgr, *columns_mgr;
+
+tree = gda_tree_new ();
+
+schemas_mgr = gda_tree_mgr_schemas_new (cnc);
+tables_mgr = gda_tree_mgr_tables_new (cnc, NULL);
+columns_mgr = gda_tree_mgr_columns_new (cnc, NULL, NULL);
+
+gda_tree_manager_add_manager (schemas_mgr, tables_mgr);
+gda_tree_manager_add_manager (tables_mgr, columns_mgr);
+
+gda_tree_add_manager (tree, schemas_mgr);
+gda_tree_add_manager (tree, tables_mgr);
+
+g_object_unref (schemas_mgr);
+g_object_unref (tables_mgr);
+g_object_unref (columns_mgr);
+
+if (!gda_tree_update_all (tree, NULL)) {
+        /* ERROR */
+}
+else {
+        gda_tree_dump (tree, NULL, NULL);
+}
+g_object_unref (tree);
+	</programlisting>
+      </para>
+      &libgda-GdaTree;
+      &libgda-GdaTreeManager;
+      &libgda-GdaTreeNode;
+      &libgda-GdaTreeMgrLabel;
+      &libgda-GdaTreeMgrSelect;
+      &libgda-GdaTreeMgrSchemas;
+      &libgda-GdaTreeMgrTables;
+      &libgda-GdaTreeMgrColumns;
+    </chapter>
+
     <chapter id="data_conv">
       <title>Data conversions</title>
       <para>
@@ -1370,12 +1544,15 @@
     &provider-writing;
   </part>
 
-  <part id="part_index">
-    <title>Appendix</title>
-    &fdl-appendix;
-    <index>
+    <index id="index_main">
       <title>Index</title>
     </index>
-  </part>
+    <index id="index-4-2" role="4.2">
+      <title>Index of new symbols in 4.2</title>
+    </index>
+    <index id="index-deprecated" role="deprecated">
+      <title>Index of deprecated symbols</title>
+    </index>
+    &fdl-appendix;
 </book>
 

Modified: trunk/doc/C/libgda-4.0-sections.txt
==============================================================================
--- trunk/doc/C/libgda-4.0-sections.txt	(original)
+++ trunk/doc/C/libgda-4.0-sections.txt	Tue Mar 17 21:29:28 2009
@@ -1508,3 +1508,125 @@
 GDA_TYPE_LOCKABLE
 gda_lockable_get_type
 </SECTION>
+
+<SECTION>
+<FILE>gda-tree</FILE>
+<TITLE>GdaTree</TITLE>
+GdaTree
+gda_tree_new
+gda_tree_add_manager
+gda_tree_clean
+gda_tree_update_all
+gda_tree_update_part
+gda_tree_get_nodes_in_path
+gda_tree_get_node
+gda_tree_set_attribute
+gda_tree_dump
+<SUBSECTION Standard>
+GDA_TREE
+GDA_TREE_GET_CLASS
+GDA_IS_TREE
+GDA_TYPE_TREE
+gda_tree_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gda-tree-manager</FILE>
+<TITLE>GdaTreeManager</TITLE>
+GdaTreeManager
+gda_tree_manager_update_children
+gda_tree_manager_add_manager
+GdaTreeManagerNodeFunc
+gda_tree_manager_set_node_create_func
+gda_tree_manager_get_node_create_func
+<SUBSECTION Standard>
+GDA_TREE_MANAGER
+GDA_TREE_MANAGER_GET_CLASS
+GDA_IS_TREE_MANAGER
+GDA_TYPE_TREE_MANAGER
+gda_tree_manager_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gda-tree-node</FILE>
+<TITLE>GdaTreeNode</TITLE>
+GdaTreeNode
+gda_tree_node_new
+gda_tree_node_get_children
+gda_tree_node_get_child_index
+gda_tree_node_get_child_name
+gda_tree_node_set_node_attribute
+gda_tree_node_get_node_attribute
+gda_tree_node_fetch_attribute
+<SUBSECTION Standard>
+GDA_TREE_NODE
+GDA_TREE_NODE_GET_CLASS
+GDA_IS_TREE_NODE
+GDA_TYPE_TREE_NODE
+gda_tree_node_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gda-tree-mgr-label</FILE>
+<TITLE>GdaTreeMgrLabel</TITLE>
+GdaTreeMgrLabel
+gda_tree_mgr_label_new
+<SUBSECTION Standard>
+GDA_TREE_MGR_LABEL
+GDA_TREE_MGR_LABEL_GET_CLASS
+GDA_IS_TREE_MGR_LABEL
+GDA_TYPE_TREE_MGR_LABEL
+gda_tree_mgr_label_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gda-tree-mgr-schemas</FILE>
+<TITLE>GdaTreeMgrSchemas</TITLE>
+GdaTreeMgrSchemas
+gda_tree_mgr_schemas_new
+<SUBSECTION Standard>
+GDA_TREE_MGR_SCHEMAS
+GDA_TREE_MGR_SCHEMAS_GET_CLASS
+GDA_IS_TREE_MGR_SCHEMAS
+GDA_TYPE_TREE_MGR_SCHEMAS
+gda_tree_mgr_schemas_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gda-tree-mgr-tables</FILE>
+<TITLE>GdaTreeMgrTables</TITLE>
+GdaTreeMgrTables
+gda_tree_mgr_tables_new
+<SUBSECTION Standard>
+GDA_TREE_MGR_TABLES
+GDA_TREE_MGR_TABLES_GET_CLASS
+GDA_IS_TREE_MGR_TABLES
+GDA_TYPE_TREE_MGR_TABLES
+gda_tree_mgr_tables_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gda-tree-mgr-columns</FILE>
+<TITLE>GdaTreeMgrColumns</TITLE>
+GdaTreeMgrColumns
+gda_tree_mgr_columns_new
+<SUBSECTION Standard>
+GDA_TREE_MGR_COLUMNS
+GDA_TREE_MGR_COLUMNS_GET_CLASS
+GDA_IS_TREE_MGR_COLUMNS
+GDA_TYPE_TREE_MGR_COLUMNS
+gda_tree_mgr_columns_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gda-tree-mgr-select</FILE>
+<TITLE>GdaTreeMgrSelect</TITLE>
+GdaTreeMgrSelect
+gda_tree_mgr_select_new
+<SUBSECTION Standard>
+GDA_TREE_MGR_SELECT
+GDA_TREE_MGR_SELECT_GET_CLASS
+GDA_IS_TREE_MGR_SELECT
+GDA_TYPE_TREE_MGR_SELECT
+gda_tree_mgr_select_get_type
+</SECTION>

Modified: trunk/doc/C/libgda-4.0.types.in
==============================================================================
--- trunk/doc/C/libgda-4.0.types.in	(original)
+++ trunk/doc/C/libgda-4.0.types.in	Tue Mar 17 21:29:28 2009
@@ -55,3 +55,11 @@
 gda_meta_store_get_type
 gda_meta_struct_get_type
 gda_data_select_get_type
+gda_tree_get_type
+gda_tree_manager_get_type
+gda_tree_mgr_columns_get_type
+gda_tree_mgr_label_get_type
+gda_tree_mgr_schemas_get_type
+gda_tree_mgr_select_get_type
+gda_tree_mgr_tables_get_type
+gda_tree_node_get_type

Modified: trunk/doc/C/tmpl/gda-connection.sgml
==============================================================================
--- trunk/doc/C/tmpl/gda-connection.sgml	(original)
+++ trunk/doc/C/tmpl/gda-connection.sgml	Tue Mar 17 21:29:28 2009
@@ -2,7 +2,7 @@
 GdaConnection
 
 <!-- ##### SECTION Short_Description ##### -->
-Management of connections to data sources
+A connection to a database
 
 <!-- ##### SECTION Long_Description ##### -->
 <para>

Modified: trunk/doc/C/tmpl/gda-set.sgml
==============================================================================
--- trunk/doc/C/tmpl/gda-set.sgml	(original)
+++ trunk/doc/C/tmpl/gda-set.sgml	Tue Mar 17 21:29:28 2009
@@ -29,6 +29,10 @@
 
 </para>
 
+ holders: 
+ nodes_list: 
+ sources_list: 
+ groups_list: 
 
 <!-- ##### SIGNAL GdaSet::holder-attr-changed ##### -->
 <para>

Added: trunk/doc/C/tmpl/gda-tree-manager.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-manager.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,92 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeManager
+
+<!-- ##### SECTION Short_Description ##### -->
+Base class for all the tree managers
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  A #GdaTreeManager object is responsible for creating nodes in the tree(s) for which it
+  operates.
+</para>
+<para>
+  When creating nodes, a #GdaTreeManager object can (depending on its implementation), get some
+  named attributes from the node below which it has to create nodes, using the gda_tree_node_fetch_attribute()
+  or gda_tree_node_get_node_attribute(). For example the #GdaTreeMgrColumns manager (which creates a node for each column
+  of a table) needs the table name and the schema in which the table is; both can be specified using an
+  object's property, or, if not specified that way, are fetched as attributes.
+</para>
+<para>
+  The #GdaTreeManager itself is an abstract type (which can't be instanciated). Use an existing sub class or subclass
+  it yourself.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeManager ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeManager:recursive ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_manager_update_children ##### -->
+<para>
+
+</para>
+
+ manager: 
+ node: 
+ children_nodes: 
+ out_error: 
+ error: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_manager_add_manager ##### -->
+<para>
+
+</para>
+
+ manager: 
+ sub: 
+
+
+<!-- ##### USER_FUNCTION GdaTreeManagerNodeFunc ##### -->
+<para>
+  Function which creates a #GdaTreeNode below @parent, using @manager.
+</para>
+
+ manager: the #GdaTreeManager which requests a node to be created
+ parent: the #GdaTreeNode below which the new node will be placed
+ Returns: a new #GdaTreeNode object (or a subclassed object)
+
+
+<!-- ##### FUNCTION gda_tree_manager_set_node_create_func ##### -->
+<para>
+
+</para>
+
+ mgr: 
+ func: 
+
+
+<!-- ##### FUNCTION gda_tree_manager_get_node_create_func ##### -->
+<para>
+
+</para>
+
+ mgr: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree-mgr-columns.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-mgr-columns.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,63 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeMgrColumns
+
+<!-- ##### SECTION Short_Description ##### -->
+a tree manager which creates a node for each column of a table
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The #GdaTreeMgrColumns is a #GdaTreeManager object which creates a node for
+  each column in a table.
+</para>
+<para>
+  It uses the #GdaMetaStore associated to a #GdaConnection to get the columns list
+  for a table designated by its name and the database schema it is in; it's up to the
+  caller to make sure the data in the #GdaMetaStore is up to date.
+</para>
+<para>
+  The #GdaConnection to be used needs to be specified when the object is created. The table
+  name and schema can however be specified when the object is created, and if not, are
+  fetched from the #GdaTreeNode below which the nodes will be placed (using
+  gda_tree_node_fetch_attribute()).
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeMgrColumns ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeMgrColumns:connection ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GdaTreeMgrColumns:schema ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GdaTreeMgrColumns:table-name ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_mgr_columns_new ##### -->
+<para>
+
+</para>
+
+ cnc: 
+ schema: 
+ table_name: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree-mgr-label.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-mgr-label.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,40 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeMgrLabel
+
+<!-- ##### SECTION Short_Description ##### -->
+a tree manager which creates a single node
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The #GdaTreeMgrLabel is a #GdaTreeManager object which creates a single node. This tree manager
+  is usefull to create "sections" in a #GdaTree hierarchy.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeMgrLabel ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeMgrLabel:label ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_mgr_label_new ##### -->
+<para>
+
+</para>
+
+ label: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree-mgr-schemas.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-mgr-schemas.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,47 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeMgrSchemas
+
+<!-- ##### SECTION Short_Description ##### -->
+a tree manager which creates a node for each schema in a database
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The #GdaTreeMgrSchemas is a #GdaTreeManager object which creates a node for
+  each schema in a database.
+</para>
+<para>
+  It uses the #GdaMetaStore associated to a #GdaConnection to get the schemas list; it's up to the
+  caller to make sure the data in the #GdaMetaStore is up to date.
+</para>
+<para>
+  The #GdaConnection to be used needs to be specified when the object is created.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeMgrSchemas ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeMgrSchemas:connection ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_mgr_schemas_new ##### -->
+<para>
+
+</para>
+
+ cnc: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree-mgr-select.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-mgr-select.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,66 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeMgrSelect
+
+<!-- ##### SECTION Short_Description ##### -->
+a tree manager which creates a node for each row resulting from the execution of a SELECT statement
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The #GdaTreeMgrSelect is a #GdaTreeManager object which executes a SELECT statement and
+  creates a node for each row in the result.
+</para>
+<para>
+  The #GdaConnection and SELECT #GdaStatement to be used need to be specified when the object is created.
+  If the SELECT statement to be used needs some parameters, then it is possible to give values to some of them
+  when constructing the object, but not necessary.
+</para>
+<para>
+  If the SELECT statement needs some parameters which have not been provided during the construction, then
+  these parameters will be fetched from the #GdaTreeNode below which the nodes will be placed (using
+  gda_tree_node_fetch_attribute()).
+</para>
+<para>
+  For each node created, an attribute is set for each column in the SELECT statement: the attribute name is
+  the column name and the attribute value is the value if that column.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeMgrSelect ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeMgrSelect:connection ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GdaTreeMgrSelect:params ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GdaTreeMgrSelect:statement ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_mgr_select_new ##### -->
+<para>
+
+</para>
+
+ cnc: 
+ stmt: 
+ params: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree-mgr-tables.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-mgr-tables.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,57 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeMgrTables
+
+<!-- ##### SECTION Short_Description ##### -->
+a tree manager which creates a node for each table in a schema
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The #GdaTreeMgrTables is a #GdaTreeManager object which creates a node for
+  each table in a database schema.
+</para>
+<para>
+  It uses the #GdaMetaStore associated to a #GdaConnection to get the tables list
+  in database schema; it's up to the
+  caller to make sure the data in the #GdaMetaStore is up to date.
+</para>
+<para>
+  The #GdaConnection to be used needs to be specified when the object is created. The
+  schema can however be specified when the object is created, and if not, is
+  fetched from the #GdaTreeNode below which the nodes will be placed (using
+  gda_tree_node_fetch_attribute()).
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeMgrTables ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeMgrTables:connection ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GdaTreeMgrTables:schema ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_mgr_tables_new ##### -->
+<para>
+
+</para>
+
+ cnc: 
+ schema: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree-node-dbio.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-node-dbio.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,61 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeNodeDbio
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeNodeDbio ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeNodeDbio:connection ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GdaTreeNodeDbio:params ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GdaTreeNodeDbio:statement ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_node_dbio_new ##### -->
+<para>
+
+</para>
+
+ cnc: 
+ stmt: 
+ params: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_node_dbio_get_contents ##### -->
+<para>
+
+</para>
+
+ node: 
+ error: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree-node.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree-node.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,105 @@
+<!-- ##### SECTION Title ##### -->
+GdaTreeNode
+
+<!-- ##### SECTION Short_Description ##### -->
+a node in a #GdaTree
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  Every node in a #GdaTree tree is represented by a single #GdaTreeNode object. There is no distinction
+  between nodes which have children and those which don't (leaf nodes).
+</para>
+<para>
+  The #GdaTreeNode is very basic as it only has a "name" attribute: users are encouraged to subclass it to
+  add more features if needed (and make use of them by defining a #GdaTreeManagerNodeFunc function and 
+  calling gda_tree_manager_set_node_create_func()).
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTreeNode ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GdaTreeNode:name ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gda_tree_node_new ##### -->
+<para>
+
+</para>
+
+ name: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_node_get_children ##### -->
+<para>
+
+</para>
+
+ node: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_node_get_child_index ##### -->
+<para>
+
+</para>
+
+ node: 
+ index: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_node_get_child_name ##### -->
+<para>
+
+</para>
+
+ node: 
+ name: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_node_set_node_attribute ##### -->
+<para>
+
+</para>
+
+ node: 
+ attribute: 
+ value: 
+ destroy: 
+
+
+<!-- ##### FUNCTION gda_tree_node_get_node_attribute ##### -->
+<para>
+
+</para>
+
+ node: 
+ attribute: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_node_fetch_attribute ##### -->
+<para>
+
+</para>
+
+ node: 
+ attribute: 
+ Returns: 
+
+

Added: trunk/doc/C/tmpl/gda-tree.sgml
==============================================================================
--- (empty file)
+++ trunk/doc/C/tmpl/gda-tree.sgml	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,120 @@
+<!-- ##### SECTION Title ##### -->
+GdaTree
+
+<!-- ##### SECTION Short_Description ##### -->
+A tree-structure
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The #GdaTree is the top level object representing hierarchically structured data. From this object it
+  is also possible (depending on the tree managers it uses), to clean (remove all the nodes) the whole tree,
+  or to request a complete or partial update of the nodes.
+</para>
+<para>
+  It is also possible to set attributes to the tree itself (as it is possible to do for tree nodes),
+  or to dump the whole or part of a tree in an indented and easy to read fashion.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GdaTree ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gda_tree_new ##### -->
+<para>
+
+</para>
+
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_add_manager ##### -->
+<para>
+
+</para>
+
+ tree: 
+ manager: 
+
+
+<!-- ##### FUNCTION gda_tree_clean ##### -->
+<para>
+
+</para>
+
+ tree: 
+
+
+<!-- ##### FUNCTION gda_tree_update_all ##### -->
+<para>
+
+</para>
+
+ tree: 
+ error: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_update_part ##### -->
+<para>
+
+</para>
+
+ tree: 
+ node: 
+ error: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_get_nodes_in_path ##### -->
+<para>
+
+</para>
+
+ tree: 
+ tree_path: 
+ use_names: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_get_node ##### -->
+<para>
+
+</para>
+
+ tree: 
+ tree_path: 
+ use_names: 
+ Returns: 
+
+
+<!-- ##### FUNCTION gda_tree_set_attribute ##### -->
+<para>
+
+</para>
+
+ tree: 
+ attribute: 
+ value: 
+ destroy: 
+
+
+<!-- ##### FUNCTION gda_tree_dump ##### -->
+<para>
+
+</para>
+
+ tree: 
+ node: 
+ stream: 
+
+

Added: trunk/doc/C/tree-overview.dia
==============================================================================
Binary file. No diff available.

Added: trunk/doc/C/tree-overview.png
==============================================================================
Binary file. No diff available.

Added: trunk/doc/C/tree-overview2.dia
==============================================================================
Binary file. No diff available.

Added: trunk/doc/C/tree-overview2.png
==============================================================================
Binary file. No diff available.

Added: trunk/doc/C/version.xml.in
==============================================================================
--- (empty file)
+++ trunk/doc/C/version.xml.in	Tue Mar 17 21:29:28 2009
@@ -0,0 +1 @@
+ GDA_VERSION@

Modified: trunk/libgda/Makefile.am
==============================================================================
--- trunk/libgda/Makefile.am	(original)
+++ trunk/libgda/Makefile.am	Tue Mar 17 21:29:28 2009
@@ -72,6 +72,14 @@
 	gda-statement-extra.h \
 	gda-transaction-status.h \
 	gda-transaction-status-private.h \
+	gda-tree.h \
+	gda-tree-mgr-columns.h \
+	gda-tree-mgr-schemas.h \
+	gda-tree-mgr-tables.h \
+	gda-tree-node.h \
+	gda-tree-manager.h \
+	gda-tree-mgr-label.h \
+	gda-tree-mgr-select.h \
 	gda-util.h \
 	gda-value.h \
 	gda-xa-transaction.h \
@@ -128,6 +136,14 @@
 	gda-server-provider-extra.c \
 	gda-statement.c \
 	gda-transaction-status.c \
+	gda-tree.c \
+	gda-tree-mgr-columns.c \
+	gda-tree-mgr-schemas.c \
+	gda-tree-mgr-tables.c \
+	gda-tree-node.c \
+	gda-tree-manager.c \
+	gda-tree-mgr-label.c \
+	gda-tree-mgr-select.c \
 	gda-util.c \
 	gda-value.c \
 	gda-xa-transaction.c \

Modified: trunk/libgda/gda-decl.h
==============================================================================
--- trunk/libgda/gda-decl.h	(original)
+++ trunk/libgda/gda-decl.h	Tue Mar 17 21:29:28 2009
@@ -105,6 +105,20 @@
 typedef struct _GdaMetaStructClass   GdaMetaStructClass;
 typedef struct _GdaMetaStructPrivate GdaMetaStructPrivate;
 
+/*
+ * GdaTree
+ */
+typedef struct _GdaTree GdaTree;
+typedef struct _GdaTreeClass GdaTreeClass;
+typedef struct _GdaTreePrivate GdaTreePrivate;
+
+typedef struct _GdaTreeManager GdaTreeManager;
+typedef struct _GdaTreeManagerClass GdaTreeManagerClass;
+typedef struct _GdaTreeManagerPrivate GdaTreeManagerPrivate;
+
+typedef struct _GdaTreeNode GdaTreeNode;
+typedef struct _GdaTreeNodeClass GdaTreeNodeClass;
+typedef struct _GdaTreeNodePrivate GdaTreeNodePrivate;
 
 /*
  * Win32 adaptations

Modified: trunk/libgda/gda-set.h
==============================================================================
--- trunk/libgda/gda-set.h	(original)
+++ trunk/libgda/gda-set.h	Tue Mar 17 21:29:28 2009
@@ -84,7 +84,7 @@
 	GObject         object;
 	GdaSetPrivate  *priv;
 
-	/* public READ ONLY data */
+	/*< public >*/ 
 	GSList         *holders;   /* list of GdaHolder objects */
 	GSList         *nodes_list;   /* list of GdaSetNode */
         GSList         *sources_list; /* list of GdaSetSource */

Added: trunk/libgda/gda-tree-manager.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-manager.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,326 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "gda-tree-manager.h"
+#include "gda-tree-node.h"
+
+struct _GdaTreeManagerPrivate {
+        GSList  *sub_managers; /* list of GdaTreeManager structures */
+	gboolean recursive;
+
+	GdaTreeManagerNodeFunc node_create_func;
+};
+
+static void gda_tree_manager_class_init (GdaTreeManagerClass *klass);
+static void gda_tree_manager_init       (GdaTreeManager *manager, GdaTreeManagerClass *klass);
+static void gda_tree_manager_dispose    (GObject *object);
+static void gda_tree_manager_set_property (GObject *object,
+					   guint param_id,
+					   const GValue *value,
+					   GParamSpec *pspec);
+static void gda_tree_manager_get_property (GObject *object,
+					   guint param_id,
+					   GValue *value,
+					   GParamSpec *pspec);
+
+enum {
+	LAST_SIGNAL
+};
+
+static gint gda_tree_manager_signals[LAST_SIGNAL] = { };
+
+/* properties */
+enum {
+	PROP_0,
+	PROP_RECURS
+};
+
+static GObjectClass *parent_class = NULL;
+
+/*
+ * GdaTreeManager class implementation
+ * @klass:
+ */
+static void
+gda_tree_manager_class_init (GdaTreeManagerClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	/* virtual methods */
+	klass->update_children = NULL;
+
+	/* Properties */
+        object_class->set_property = gda_tree_manager_set_property;
+        object_class->get_property = gda_tree_manager_get_property;
+
+	/**
+	 * GdaTreeManager:recursive:
+	 *
+	 * This property specifies if, when initially creating nodes or updating the list of nodes,
+	 * the tree manager shoud also request that each node it has created or updated also
+	 * initially create or update their children.
+	 *
+	 * This property can typically set to FALSE if the process of creating children nodes is lenghty
+	 * and needs to be postponed while an event occurs.
+	 */
+	g_object_class_install_property (object_class, PROP_RECURS,
+                                         g_param_spec_boolean ("recursive", NULL, "Recursive building/updating of children",
+                                                              TRUE,
+                                                              G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+	object_class->dispose = gda_tree_manager_dispose;
+}
+
+static void
+gda_tree_manager_init (GdaTreeManager *manager, GdaTreeManagerClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE_MANAGER (manager));
+
+	manager->priv = g_new0 (GdaTreeManagerPrivate, 1);
+	manager->priv->sub_managers = NULL;
+}
+
+static void
+gda_tree_manager_dispose (GObject *object)
+{
+	GdaTreeManager *manager = (GdaTreeManager *) object;
+
+	g_return_if_fail (GDA_IS_TREE_MANAGER (manager));
+
+	if (manager->priv) {
+		if (manager->priv->sub_managers) {
+			g_slist_foreach (manager->priv->sub_managers, (GFunc) g_object_unref, NULL);
+			g_slist_free (manager->priv->sub_managers);
+		}
+		g_free (manager->priv);
+		manager->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+
+/* module error */
+GQuark gda_tree_manager_error_quark (void)
+{
+        static GQuark quark;
+        if (!quark)
+                quark = g_quark_from_static_string ("gda_tree_manager_error");
+        return quark;
+}
+
+/**
+ * gda_tree_manager_get_type
+ * 
+ * Registers the #GdaTreeManager class on the GLib type system.
+ * 
+ * Returns: the GType identifying the class.
+ *
+ * Since: 4.2
+ */
+GType
+gda_tree_manager_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeManagerClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_manager_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTreeManager),
+                        0,
+                        (GInstanceInitFunc) gda_tree_manager_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (G_TYPE_OBJECT, "GdaTreeManager", &info, G_TYPE_FLAG_ABSTRACT);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_manager_set_property (GObject *object,
+			       guint param_id,
+			       const GValue *value,
+			       GParamSpec *pspec)
+{
+	GdaTreeManager *manager;
+
+        manager = GDA_TREE_MANAGER (object);
+        if (manager->priv) {
+                switch (param_id) {
+		case PROP_RECURS:
+			manager->priv->recursive = g_value_get_boolean (value);
+			break;
+		}	
+	}
+}
+
+static void
+gda_tree_manager_get_property (GObject *object,
+			       guint param_id,
+			       GValue *value,
+			       GParamSpec *pspec)
+{
+	GdaTreeManager *manager;
+	
+	manager = GDA_TREE_MANAGER (object);
+	if (manager->priv) {
+		switch (param_id) {
+		case PROP_RECURS:
+			g_value_set_boolean (value, manager->priv->recursive);
+			break;
+		}
+	}	
+}
+
+/**
+ * gda_tree_manager_update_children
+ * @manager: a #GdaTreeManager object
+ * @node: a #GdaTreeNode object, or %NULL
+ * @children_nodes: a list of #GdaTreeNode nodes which have previously been created by a similar call and
+ * need to be updated ore moved
+ * @out_error: a boolean to store if there was an error (can be %NULL)
+ * @error: a place to store errors, or %NULL
+ *
+ * Creates (or updates) the list of #GdaTreeNode objects which are placed as children of @node. The returned
+ * list will completely replace the existing list of nodes managed ny @manager (as children of @node).
+ *
+ * If a node is already present in @children_nodes and needs to be kept in the new list, then it should be added
+ * to the returned list and its reference count should be increased by one.
+ *
+ * Returns: a new list of #GdaTreeNode objects.
+ *
+ * Since: 4.2
+ */
+GSList *
+gda_tree_manager_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+				  gboolean *out_error, GError **error)
+{
+	GSList *nodes_list = NULL;
+	GdaTreeManagerClass *klass;
+
+	g_return_val_if_fail (GDA_IS_TREE_MANAGER (manager), NULL);
+	g_return_val_if_fail (!node || GDA_IS_TREE_NODE (node), NULL);
+
+	if (out_error)
+		*out_error = FALSE;
+	klass = (GdaTreeManagerClass*) G_OBJECT_GET_CLASS (manager);
+	if (klass->update_children)
+		nodes_list = klass->update_children (manager, node, children_nodes, out_error, error);
+	if (node && nodes_list)
+		_gda_tree_node_add_children (node, manager, nodes_list);
+
+	/* calling sub managers for each new node */
+	GSList *list;
+	for (list = nodes_list; list; list = list->next) {
+		GSList *sl;
+		for (sl = manager->priv->sub_managers; sl; sl = sl->next) {
+			if (manager->priv->recursive) {
+				GSList *snodes;
+				gboolean lout_error = FALSE;
+				GdaTreeNode *parent = GDA_TREE_NODE (list->data);
+				GdaTreeManager *mgr = (GdaTreeManager *) sl->data;
+				snodes = gda_tree_manager_update_children (mgr, parent,
+									   _gda_tree_node_get_children_for_manager (parent, mgr),
+									   &lout_error, error);
+				if (lout_error) {
+					if (out_error)
+						*out_error = TRUE;
+					return NULL;
+				}
+			}
+			else 
+				_gda_tree_node_add_children (GDA_TREE_NODE (list->data), (GdaTreeManager *) sl->data, NULL);	
+		}
+	}
+	return nodes_list;
+}
+
+/**
+ * gda_tree_manager_add_manager
+ * @manager: a #GdaTreeManager object
+ * @sub: a #GdaTreeManager object to add
+ *
+ * Adds a sub manager to @manager. Use this method to create the skeleton structure
+ * of a #GdaTree. Note that a single #GdaTreeManager can be used by several #GdaTree objects
+ * or several times in the same #GdaTree's structure.
+ *
+ * Since: 4.2
+ */
+void
+gda_tree_manager_add_manager (GdaTreeManager *manager, GdaTreeManager *sub)
+{
+	g_return_if_fail (GDA_IS_TREE_MANAGER (manager));
+	g_return_if_fail (GDA_IS_TREE_MANAGER (sub));
+	g_return_if_fail (manager != sub);
+
+	manager->priv->sub_managers = g_slist_append (manager->priv->sub_managers, sub);
+	g_object_ref (sub);
+}
+
+/**
+ * gda_tree_manager_set_node_create_func
+ * @mgr: a #GdaTreeManager tree manager object
+ * @func: a #GdaTreeManagerNodeFunc function pointer, or %NULL
+ *
+ * Sets the function to be called when a new node is being created by @mgr. If @func is %NULL
+ * then each created node will be a #GdaTreeNode object.
+ *
+ * Specifying a custom #GdaTreeManagerNodeFunc function for example allows one to use
+ * specialized sub-classed #GdaTreeNode objects.
+ *
+ * Since: 4.2
+ */
+void
+gda_tree_manager_set_node_create_func (GdaTreeManager *mgr, GdaTreeManagerNodeFunc func)
+{
+	g_return_if_fail (GDA_IS_TREE_MANAGER (mgr));
+	mgr->priv->node_create_func = func;
+}
+
+/**
+ * gda_tree_manager_get_node_create_func
+ * @mgr: a #GdaTreeManager tree manager object
+ *
+ * Get the function used by @mgr when creating new #GdaTreeNode nodes
+ *
+ * Returns: the #GdaTreeManagerNodeFunc function, or %NULL if the default function is used
+ *
+ * Since: 4.2
+ */
+GdaTreeManagerNodeFunc
+gda_tree_manager_get_node_create_func (GdaTreeManager *mgr)
+{
+	g_return_val_if_fail (GDA_IS_TREE_MANAGER (mgr), NULL);
+	return mgr->priv->node_create_func;
+}

Added: trunk/libgda/gda-tree-manager.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-manager.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,81 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_MANAGER_H__
+#define __GDA_TREE_MANAGER_H__
+
+#include <glib-object.h>
+#include "gda-decl.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE_MANAGER            (gda_tree_manager_get_type())
+#define GDA_TREE_MANAGER(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE_MANAGER, GdaTreeManager))
+#define GDA_TREE_MANAGER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE_MANAGER, GdaTreeManagerClass))
+#define GDA_IS_TREE_MANAGER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE_MANAGER))
+#define GDA_IS_TREE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE_MANAGER))
+
+typedef GdaTreeNode *(*GdaTreeManagerNodeFunc) (GdaTreeManager *manager, GdaTreeNode *parent);
+
+/* error reporting */
+extern GQuark gda_tree_manager_error_quark (void);
+#define GDA_TREE_MANAGER_ERROR gda_tree_manager_error_quark ()
+
+typedef enum {
+	GDA_TREE_MANAGER_UNKNOWN_ERROR
+} GdaTreeManagerError;
+
+struct _GdaTreeManager {
+	GObject            object;
+	GdaTreeManagerPrivate *priv;
+};
+
+struct _GdaTreeManagerClass {
+	GObjectClass       object_class;
+
+	/* virtual methods */
+	/**
+	 * update_children
+	 *
+	 * Returns: NULL if an error occurred, and @out_error is set to TRUE
+	 */
+	GSList *(*update_children) (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+				    gboolean *out_error, GError **error);
+
+	/* Padding for future expansion */
+	void (*_gda_reserved1) (void);
+	void (*_gda_reserved2) (void);
+	void (*_gda_reserved3) (void);
+	void (*_gda_reserved4) (void);
+};
+
+GType                  gda_tree_manager_get_type                 (void) G_GNUC_CONST;
+GSList                *gda_tree_manager_update_children          (GdaTreeManager *manager, GdaTreeNode *node,
+								  const GSList *children_nodes,
+								  gboolean *out_error, GError **error);
+void                   gda_tree_manager_add_manager              (GdaTreeManager *manager, GdaTreeManager *sub);
+void                   gda_tree_manager_set_node_create_func     (GdaTreeManager *mgr, GdaTreeManagerNodeFunc func);
+GdaTreeManagerNodeFunc gda_tree_manager_get_node_create_func     (GdaTreeManager *mgr);
+
+G_END_DECLS
+
+#endif

Added: trunk/libgda/gda-tree-mgr-columns.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-columns.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,395 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib/gi18n-lib.h>
+#include <libgda/libgda.h>
+#include <sql-parser/gda-sql-parser.h>
+#include "gda-tree-mgr-columns.h"
+#include "gda-tree-node.h"
+
+struct _GdaTreeMgrColumnsPriv {
+	GdaConnection *cnc;
+	gchar         *schema; /* imposed upon construction */
+	gchar         *table_name; /* imposed upon construction */
+
+	GdaStatement  *stmt;
+	GdaSet        *params;
+};
+
+static void gda_tree_mgr_columns_class_init (GdaTreeMgrColumnsClass *klass);
+static void gda_tree_mgr_columns_init       (GdaTreeMgrColumns *tmgr1, GdaTreeMgrColumnsClass *klass);
+static void gda_tree_mgr_columns_dispose    (GObject *object);
+static void gda_tree_mgr_columns_set_property (GObject *object,
+					      guint param_id,
+					      const GValue *value,
+					      GParamSpec *pspec);
+static void gda_tree_mgr_columns_get_property (GObject *object,
+					      guint param_id,
+					      GValue *value,
+					      GParamSpec *pspec);
+
+/* virtual methods */
+static GSList *gda_tree_mgr_columns_update_children (GdaTreeManager *manager, GdaTreeNode *node, 
+						     const GSList *children_nodes, gboolean *out_error, GError **error);
+
+static GObjectClass *parent_class = NULL;
+
+/* properties */
+enum {
+        PROP_0,
+	PROP_CNC,
+	PROP_SCHEMA,
+	PROP_TABLE
+};
+
+/*
+ * GdaTreeMgrColumns class implementation
+ * @klass:
+ */
+static void
+gda_tree_mgr_columns_class_init (GdaTreeMgrColumnsClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	/* virtual methods */
+	((GdaTreeManagerClass*) klass)->update_children = gda_tree_mgr_columns_update_children;
+
+	/* Properties */
+        object_class->set_property = gda_tree_mgr_columns_set_property;
+        object_class->get_property = gda_tree_mgr_columns_get_property;
+
+	g_object_class_install_property (object_class, PROP_CNC,
+                                         g_param_spec_object ("connection", NULL, "Connection to use",
+                                                              GDA_TYPE_CONNECTION,
+                                                              G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+	/**
+	 * GdaTreeMgrColumns:schema:
+	 * If no set, then the table name will be fetched from the parent node using the "schema" attribute
+	 */
+        g_object_class_install_property (object_class, PROP_SCHEMA,
+                                         g_param_spec_string ("schema", NULL,
+                                                              "Database schema'name in which the table is",
+                                                              NULL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+
+	/**
+	 * GdaTreeMgrColumns:table-name:
+	 * If no set, then the table name will be fetched from the parent node using the "table_name" attribute
+	 */
+        g_object_class_install_property (object_class, PROP_TABLE,
+                                         g_param_spec_string ("table-name", NULL,
+                                                              "Database table's name",
+                                                              NULL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+
+	object_class->dispose = gda_tree_mgr_columns_dispose;
+}
+
+static void
+gda_tree_mgr_columns_init (GdaTreeMgrColumns *mgr, GdaTreeMgrColumnsClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE_MGR_COLUMNS (mgr));
+	mgr->priv = g_new0 (GdaTreeMgrColumnsPriv, 1);
+}
+
+static void
+gda_tree_mgr_columns_dispose (GObject *object)
+{
+	GdaTreeMgrColumns *mgr = (GdaTreeMgrColumns *) object;
+
+	g_return_if_fail (GDA_IS_TREE_MGR_COLUMNS (mgr));
+
+	if (mgr->priv) {
+		if (mgr->priv->cnc)
+			g_object_unref (mgr->priv->cnc);
+		g_free (mgr->priv->schema);
+		g_free (mgr->priv->table_name);
+
+		if (mgr->priv->stmt)
+			g_object_unref (mgr->priv->stmt);
+		if (mgr->priv->params)
+			g_object_unref (mgr->priv->params);
+
+		g_free (mgr->priv);
+		mgr->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+/**
+ * gda_tree_mgr_columns_get_type
+ *
+ * Returns: the GType
+ *
+ * Since: 4.2
+ */
+GType
+gda_tree_mgr_columns_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeMgrColumnsClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_mgr_columns_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTreeMgrColumns),
+                        0,
+                        (GInstanceInitFunc) gda_tree_mgr_columns_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrColumns", &info, 0);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_mgr_columns_set_property (GObject *object,
+				   guint param_id,
+				   const GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrColumns *mgr;
+
+        mgr = GDA_TREE_MGR_COLUMNS (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			mgr->priv->cnc = (GdaConnection*) g_value_get_object (value);
+			if (mgr->priv->cnc)
+				g_object_ref (mgr->priv->cnc);
+			break;
+		case PROP_SCHEMA:
+			mgr->priv->schema = g_value_dup_string (value);
+			break;
+		case PROP_TABLE:
+			mgr->priv->table_name = g_value_dup_string (value);
+			break;
+                }
+        }
+}
+
+static void
+gda_tree_mgr_columns_get_property (GObject *object,
+				   guint param_id,
+				   GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrColumns *mgr;
+
+        mgr = GDA_TREE_MGR_COLUMNS (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			g_value_set_object (value, mgr->priv->cnc);
+			break;
+		case PROP_SCHEMA:
+			g_value_set_string (value, mgr->priv->schema);
+			break;
+		case PROP_TABLE:
+			g_value_set_string (value, mgr->priv->table_name);
+			break;
+                }
+        }
+}
+
+/**
+ * gda_tree_mgr_columns_new
+ * @cnc: a #GdaConnection object
+ * @schema: a schema name
+ * @table_name: the name of the table
+ *
+ * Creates a new #GdaTreeManager object which will add one tree node for each
+ * column in the table named @table_name in the @schema schema.
+ *
+ * Returns: a new #GdaTreeManager object 
+ *
+ * Since: 4.2
+ */
+GdaTreeManager*
+gda_tree_mgr_columns_new (GdaConnection *cnc, const gchar *schema, const gchar *table_name)
+{
+	GdaTreeMgrColumns *mgr;
+	g_return_val_if_fail (GDA_IS_CONNECTION (cnc), NULL);
+
+	mgr = (GdaTreeMgrColumns*) g_object_new (GDA_TYPE_TREE_MGR_COLUMNS,
+						"connection", cnc, 
+						"schema", schema, 
+						 "table-name", table_name, NULL);
+	return (GdaTreeManager*) mgr;
+}
+
+static GSList *
+gda_tree_mgr_columns_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+				      gboolean *out_error, GError **error)
+{
+	GdaTreeMgrColumns *mgr = GDA_TREE_MGR_COLUMNS (manager);
+	GdaMetaStore *store;
+	GdaDataModel *model;
+	GSList *list = NULL;
+	GdaConnection *scnc;
+
+	if (!mgr->priv->cnc) {
+		g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+			     _("No connection specified"));
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	store = gda_connection_get_meta_store (mgr->priv->cnc);
+	scnc = gda_meta_store_get_internal_connection (store);
+
+	/* create statements if necessary */
+	if (!mgr->priv->stmt) {
+		GdaSqlParser *parser;
+		GdaStatement *stmt;
+
+		parser = gda_connection_create_parser (scnc);
+		if (! parser)
+			parser = gda_sql_parser_new ();
+
+		stmt = gda_sql_parser_parse_string (parser,
+						    "SELECT column_name FROM _columns WHERE "
+						    "table_schema= ##schema::string AND "
+						    "table_name= ##table_name::string "
+						    "ORDER BY ordinal_position", NULL, error);
+		g_object_unref (parser);
+		if (!stmt) {
+			if (out_error)
+				*out_error = TRUE;
+			return NULL;
+		}
+
+		if (!gda_statement_get_parameters (stmt, &(mgr->priv->params), error)) {
+			if (out_error)
+				*out_error = TRUE;
+			g_object_unref (stmt);
+			return NULL;
+		}
+		mgr->priv->stmt = stmt;
+	}
+
+
+	gboolean schema_specified = FALSE;
+	gboolean table_specified = FALSE;
+	if (mgr->priv->schema) {
+		schema_specified = TRUE;
+		g_assert (gda_set_set_holder_value (mgr->priv->params, NULL, "schema", 
+						    mgr->priv->schema));
+	}
+	if (mgr->priv->table_name) {
+		table_specified = TRUE;
+		g_assert (gda_set_set_holder_value (mgr->priv->params, NULL, "table_name", 
+						    mgr->priv->table_name));
+	}
+	if (!schema_specified && node) {
+		/* looking for a schema in @node's attributes */
+		const GValue *cvalue;
+		cvalue = gda_tree_node_fetch_attribute (node, "schema");
+		if (cvalue) {
+			GdaHolder *h = gda_set_get_holder (mgr->priv->params, "schema");
+			if (!gda_holder_set_value (h, cvalue, error)) {
+				if (out_error)
+					*out_error = TRUE;
+				return NULL;
+			}
+			schema_specified = TRUE;
+		}
+	}
+	if (!table_specified && node) {
+		/* looking for a table in @node's attributes */
+		const GValue *cvalue;
+		cvalue = gda_tree_node_fetch_attribute (node, "table_name");
+		if (cvalue) {
+			GdaHolder *h = gda_set_get_holder (mgr->priv->params, "table_name");
+			if (!gda_holder_set_value (h, cvalue, error)) {
+				if (out_error)
+					*out_error = TRUE;
+				return NULL;
+			}
+			table_specified = TRUE;
+		}
+	}
+
+	if (!schema_specified) {
+		g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+			     _("No schema specified"));
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	if (!table_specified) {
+		g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+			     _("No table specified"));
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	model = gda_connection_statement_execute_select (scnc, mgr->priv->stmt, mgr->priv->params, error);
+
+	if (!model) {
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	GdaDataModelIter *iter;
+	iter = gda_data_model_create_iter (model);
+	for (; iter && gda_data_model_iter_move_next (iter);) {
+		GdaTreeNode* node;
+		const GValue *cvalue;
+
+		cvalue = gda_data_model_iter_get_value_at (iter, 0);
+		if (!cvalue) {
+			if (list) {
+				g_slist_foreach (list, (GFunc) g_object_unref, NULL);
+				g_slist_free (list);
+			}
+			if (out_error)
+				*out_error = TRUE;
+			g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+				     _("Unable to get column name"));
+			return NULL;
+		}
+
+		node = gda_tree_node_new (g_value_get_string (cvalue));
+		gda_tree_node_set_node_attribute (node, "column_name", cvalue, NULL);
+		list = g_slist_prepend (list, node);
+	}
+	if (iter)
+		g_object_unref (iter);
+	g_object_unref (model);
+
+	return list;
+}

Added: trunk/libgda/gda-tree-mgr-columns.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-columns.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,56 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_MGR_COLUMNS_H__
+#define __GDA_TREE_MGR_COLUMNS_H__
+
+#include <libgda/gda-connection.h>
+#include "gda-tree-manager.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE_MGR_COLUMNS            (gda_tree_mgr_columns_get_type())
+#define GDA_TREE_MGR_COLUMNS(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE_MGR_COLUMNS, GdaTreeMgrColumns))
+#define GDA_TREE_MGR_COLUMNS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE_MGR_COLUMNS, GdaTreeMgrColumnsClass))
+#define GDA_IS_TREE_MGR_COLUMNS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE_MGR_COLUMNS))
+#define GDA_IS_TREE_MGR_COLUMNS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE_MGR_COLUMNS))
+
+typedef struct _GdaTreeMgrColumns GdaTreeMgrColumns;
+typedef struct _GdaTreeMgrColumnsPriv GdaTreeMgrColumnsPriv;
+typedef struct _GdaTreeMgrColumnsClass GdaTreeMgrColumnsClass;
+
+struct _GdaTreeMgrColumns {
+	GdaTreeManager        object;
+	GdaTreeMgrColumnsPriv *priv;
+};
+
+struct _GdaTreeMgrColumnsClass {
+	GdaTreeManagerClass   object_class;
+};
+
+GType              gda_tree_mgr_columns_get_type                 (void) G_GNUC_CONST;
+GdaTreeManager*    gda_tree_mgr_columns_new                      (GdaConnection *cnc, const gchar *schema,
+								  const gchar *table_name);
+
+G_END_DECLS
+
+#endif

Added: trunk/libgda/gda-tree-mgr-label.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-label.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,218 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib/gi18n-lib.h>
+#include <libgda/libgda.h>
+#include <sql-parser/gda-sql-parser.h>
+#include "gda-tree-mgr-label.h"
+#include "gda-tree-node.h"
+
+struct _GdaTreeMgrLabelPriv {
+	gchar         *label; /* imposed upon construction */
+};
+
+static void gda_tree_mgr_label_class_init (GdaTreeMgrLabelClass *klass);
+static void gda_tree_mgr_label_init       (GdaTreeMgrLabel *tmgr1, GdaTreeMgrLabelClass *klass);
+static void gda_tree_mgr_label_dispose    (GObject *object);
+static void gda_tree_mgr_label_set_property (GObject *object,
+					      guint param_id,
+					      const GValue *value,
+					      GParamSpec *pspec);
+static void gda_tree_mgr_label_get_property (GObject *object,
+					      guint param_id,
+					      GValue *value,
+					      GParamSpec *pspec);
+
+/* virtual methods */
+static GSList *gda_tree_mgr_label_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+						   gboolean *out_error, GError **error);
+
+static GObjectClass *parent_class = NULL;
+
+/* properties */
+enum {
+        PROP_0,
+	PROP_LABEL
+};
+
+/*
+ * GdaTreeMgrLabel class implementation
+ * @klass:
+ */
+static void
+gda_tree_mgr_label_class_init (GdaTreeMgrLabelClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	/* virtual methods */
+	((GdaTreeManagerClass*) klass)->update_children = gda_tree_mgr_label_update_children;
+
+	/* Properties */
+        object_class->set_property = gda_tree_mgr_label_set_property;
+        object_class->get_property = gda_tree_mgr_label_get_property;
+
+        g_object_class_install_property (object_class, PROP_LABEL,
+                                         g_param_spec_string ("label", NULL,
+                                                              "Label for the node",
+                                                              NULL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+
+	object_class->dispose = gda_tree_mgr_label_dispose;
+}
+
+static void
+gda_tree_mgr_label_init (GdaTreeMgrLabel *mgr, GdaTreeMgrLabelClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE_MGR_LABEL (mgr));
+	mgr->priv = g_new0 (GdaTreeMgrLabelPriv, 1);
+}
+
+static void
+gda_tree_mgr_label_dispose (GObject *object)
+{
+	GdaTreeMgrLabel *mgr = (GdaTreeMgrLabel *) object;
+
+	g_return_if_fail (GDA_IS_TREE_MGR_LABEL (mgr));
+
+	if (mgr->priv) {
+		g_free (mgr->priv->label);
+		g_free (mgr->priv);
+		mgr->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+/**
+ * gda_tree_mgr_label_get_type
+ *
+ * Since: 4.2
+ */
+GType
+gda_tree_mgr_label_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeMgrLabelClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_mgr_label_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTreeMgrLabel),
+                        0,
+                        (GInstanceInitFunc) gda_tree_mgr_label_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrLabel", &info, 0);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_mgr_label_set_property (GObject *object,
+				   guint param_id,
+				   const GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrLabel *mgr;
+
+        mgr = GDA_TREE_MGR_LABEL (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_LABEL:
+			mgr->priv->label = g_value_dup_string (value);
+			break;
+                }
+        }
+}
+
+static void
+gda_tree_mgr_label_get_property (GObject *object,
+				   guint param_id,
+				   GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrLabel *mgr;
+
+        mgr = GDA_TREE_MGR_LABEL (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_LABEL:
+			g_value_set_string (value, mgr->priv->label);
+			break;
+                }
+        }
+}
+
+/**
+ * gda_tree_mgr_label_new
+ * @label: a label string
+ *
+ * Creates a new #GdaTreeManager object which will add one tree node labelled @label
+ *
+ * Returns: a new #GdaTreeManager object
+ * 
+ * Since: 4.2
+ */
+GdaTreeManager*
+gda_tree_mgr_label_new (const gchar *label)
+{
+	GdaTreeMgrLabel *mgr;
+	mgr = (GdaTreeMgrLabel*) g_object_new (GDA_TYPE_TREE_MGR_LABEL,
+						"label", label, NULL);
+	return (GdaTreeManager*) mgr;
+}
+
+static GSList *
+gda_tree_mgr_label_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+				    gboolean *out_error, GError **error)
+{
+	if (children_nodes) {
+		GSList *list = g_slist_copy ((GSList*) children_nodes);
+		g_slist_foreach (list, (GFunc) g_object_ref, NULL);
+		return list;
+	}
+
+	GdaTreeMgrLabel *mgr = GDA_TREE_MGR_LABEL (manager);
+	GdaTreeManagerNodeFunc create_func = gda_tree_manager_get_node_create_func (manager);
+
+	if (create_func) {
+		node = create_func (manager, node);
+		g_object_set (G_OBJECT (node), "name", mgr->priv->label ? mgr->priv->label : _("No name"), NULL);
+	}
+	else {
+		if (mgr->priv->label)
+			node = gda_tree_node_new (mgr->priv->label);
+		else
+			node = gda_tree_node_new (_("No name"));
+	}
+	return g_slist_prepend (NULL, node);
+}

Added: trunk/libgda/gda-tree-mgr-label.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-label.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,55 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_MGR_LABEL_H__
+#define __GDA_TREE_MGR_LABEL_H__
+
+#include <libgda/gda-connection.h>
+#include "gda-tree-manager.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE_MGR_LABEL            (gda_tree_mgr_label_get_type())
+#define GDA_TREE_MGR_LABEL(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE_MGR_LABEL, GdaTreeMgrLabel))
+#define GDA_TREE_MGR_LABEL_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE_MGR_LABEL, GdaTreeMgrLabelClass))
+#define GDA_IS_TREE_MGR_LABEL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE_MGR_LABEL))
+#define GDA_IS_TREE_MGR_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE_MGR_LABEL))
+
+typedef struct _GdaTreeMgrLabel GdaTreeMgrLabel;
+typedef struct _GdaTreeMgrLabelPriv GdaTreeMgrLabelPriv;
+typedef struct _GdaTreeMgrLabelClass GdaTreeMgrLabelClass;
+
+struct _GdaTreeMgrLabel {
+	GdaTreeManager        object;
+	GdaTreeMgrLabelPriv *priv;
+};
+
+struct _GdaTreeMgrLabelClass {
+	GdaTreeManagerClass   object_class;
+};
+
+GType              gda_tree_mgr_label_get_type                 (void) G_GNUC_CONST;
+GdaTreeManager*    gda_tree_mgr_label_new                      (const gchar *label);
+
+G_END_DECLS
+
+#endif

Added: trunk/libgda/gda-tree-mgr-schemas.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-schemas.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,282 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib/gi18n-lib.h>
+#include <libgda/libgda.h>
+#include <sql-parser/gda-sql-parser.h>
+#include "gda-tree-mgr-schemas.h"
+#include "gda-tree-node.h"
+
+struct _GdaTreeMgrSchemasPriv {
+	GdaConnection *cnc;
+	GdaStatement  *stmt;
+};
+
+static void gda_tree_mgr_schemas_class_init (GdaTreeMgrSchemasClass *klass);
+static void gda_tree_mgr_schemas_init       (GdaTreeMgrSchemas *tmgr1, GdaTreeMgrSchemasClass *klass);
+static void gda_tree_mgr_schemas_dispose    (GObject *object);
+static void gda_tree_mgr_schemas_set_property (GObject *object,
+					      guint param_id,
+					      const GValue *value,
+					      GParamSpec *pspec);
+static void gda_tree_mgr_schemas_get_property (GObject *object,
+					      guint param_id,
+					      GValue *value,
+					      GParamSpec *pspec);
+
+/* virtual methods */
+static GSList *gda_tree_mgr_schemas_update_children (GdaTreeManager *manager, GdaTreeNode *node, 
+						     const GSList *children_nodes, gboolean *out_error, GError **error);
+
+static GObjectClass *parent_class = NULL;
+
+/* properties */
+enum {
+        PROP_0,
+	PROP_CNC
+};
+
+/*
+ * GdaTreeMgrSchemas class implementation
+ * @klass:
+ */
+static void
+gda_tree_mgr_schemas_class_init (GdaTreeMgrSchemasClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	/* virtual methods */
+	((GdaTreeManagerClass*) klass)->update_children = gda_tree_mgr_schemas_update_children;
+
+	/* Properties */
+        object_class->set_property = gda_tree_mgr_schemas_set_property;
+        object_class->get_property = gda_tree_mgr_schemas_get_property;
+
+	g_object_class_install_property (object_class, PROP_CNC,
+                                         g_param_spec_object ("connection", NULL, "Connection to use",
+                                                              GDA_TYPE_CONNECTION,
+                                                              G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+	object_class->dispose = gda_tree_mgr_schemas_dispose;
+}
+
+static void
+gda_tree_mgr_schemas_init (GdaTreeMgrSchemas *mgr, GdaTreeMgrSchemasClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE_MGR_SCHEMAS (mgr));
+	mgr->priv = g_new0 (GdaTreeMgrSchemasPriv, 1);
+}
+
+static void
+gda_tree_mgr_schemas_dispose (GObject *object)
+{
+	GdaTreeMgrSchemas *mgr = (GdaTreeMgrSchemas *) object;
+
+	g_return_if_fail (GDA_IS_TREE_MGR_SCHEMAS (mgr));
+
+	if (mgr->priv) {
+		if (mgr->priv->cnc)
+			g_object_unref (mgr->priv->cnc);
+		if (mgr->priv->stmt)
+			g_object_unref (mgr->priv->stmt);
+
+		g_free (mgr->priv);
+		mgr->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+/**
+ * gda_tree_mgr_schemas_get_type
+ *
+ * Returns: the GType
+ *
+ * Since: 4.2
+ */
+GType
+gda_tree_mgr_schemas_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeMgrSchemasClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_mgr_schemas_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTreeMgrSchemas),
+                        0,
+                        (GInstanceInitFunc) gda_tree_mgr_schemas_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrSchemas", &info, 0);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_mgr_schemas_set_property (GObject *object,
+				   guint param_id,
+				   const GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrSchemas *mgr;
+
+        mgr = GDA_TREE_MGR_SCHEMAS (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			mgr->priv->cnc = (GdaConnection*) g_value_get_object (value);
+			if (mgr->priv->cnc)
+				g_object_ref (mgr->priv->cnc);
+			break;
+                }
+        }
+}
+
+static void
+gda_tree_mgr_schemas_get_property (GObject *object,
+				   guint param_id,
+				   GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrSchemas *mgr;
+
+        mgr = GDA_TREE_MGR_SCHEMAS (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			g_value_set_object (value, mgr->priv->cnc);
+			break;
+                }
+        }
+}
+
+/**
+ * gda_tree_mgr_schemas_new
+ * @cnc: a #GdaConnection object
+ *
+ * Creates a new #GdaTreeManager object which will add one tree node for each database schema found
+ * in @cnc.
+ *
+ * Returns: a new #GdaTreeManager object
+ *
+ * Since: 4.2
+ */
+GdaTreeManager*
+gda_tree_mgr_schemas_new (GdaConnection *cnc)
+{
+	GdaTreeMgrSchemas *mgr;
+	g_return_val_if_fail (GDA_IS_CONNECTION (cnc), NULL);
+
+	mgr = (GdaTreeMgrSchemas*) g_object_new (GDA_TYPE_TREE_MGR_SCHEMAS,
+						 "connection", cnc, NULL);
+	return (GdaTreeManager*) mgr;
+}
+
+static GSList *
+gda_tree_mgr_schemas_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+				      gboolean *out_error, GError **error)
+{
+	GdaTreeMgrSchemas *mgr = GDA_TREE_MGR_SCHEMAS (manager);
+	GdaMetaStore *store;
+	GdaDataModel *model;
+	GSList *list = NULL;
+	GdaConnection *scnc;
+
+	if (!mgr->priv->cnc) {
+		g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+			     _("No connection specified"));
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	store = gda_connection_get_meta_store (mgr->priv->cnc);
+	scnc = gda_meta_store_get_internal_connection (store);
+
+	if (!mgr->priv->stmt) {
+		GdaSqlParser *parser;
+		GdaStatement *stmt;
+
+		parser = gda_connection_create_parser (scnc);
+		if (! parser)
+			parser = gda_sql_parser_new ();
+
+		stmt = gda_sql_parser_parse_string (parser,
+						    "SELECT schema_name FROM _schemata "
+						    "WHERE schema_internal = FALSE OR schema_name LIKE 'info%' "
+						    "ORDER BY schema_name DESC", NULL, error);
+		g_object_unref (parser);
+		if (!stmt) {
+			if (out_error)
+				*out_error = TRUE;
+			return NULL;
+		}
+		mgr->priv->stmt = stmt;
+	}
+
+	model = gda_connection_statement_execute_select (scnc, mgr->priv->stmt, NULL, error);
+	if (!model) {
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	GdaDataModelIter *iter;
+	iter = gda_data_model_create_iter (model);
+	for (; iter && gda_data_model_iter_move_next (iter);) {
+		GdaTreeNode* node;
+		const GValue *cvalue;
+
+		cvalue = gda_data_model_iter_get_value_at (iter, 0);
+		if (!cvalue) {
+			if (list) {
+				g_slist_foreach (list, (GFunc) g_object_unref, NULL);
+				g_slist_free (list);
+			}
+			if (out_error)
+				*out_error = TRUE;
+			g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+				     _("Unable to get schema name"));
+			return NULL;
+		}
+
+		node = gda_tree_node_new (g_value_get_string (cvalue));
+		gda_tree_node_set_node_attribute (node, "schema", cvalue, NULL);
+		list = g_slist_prepend (list, node);
+	}
+	if (iter)
+		g_object_unref (iter);
+	g_object_unref (model);
+
+	return list;
+}

Added: trunk/libgda/gda-tree-mgr-schemas.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-schemas.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,55 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_MGR_SCHEMAS_H__
+#define __GDA_TREE_MGR_SCHEMAS_H__
+
+#include <libgda/gda-connection.h>
+#include "gda-tree-manager.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE_MGR_SCHEMAS            (gda_tree_mgr_schemas_get_type())
+#define GDA_TREE_MGR_SCHEMAS(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE_MGR_SCHEMAS, GdaTreeMgrSchemas))
+#define GDA_TREE_MGR_SCHEMAS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE_MGR_SCHEMAS, GdaTreeMgrSchemasClass))
+#define GDA_IS_TREE_MGR_SCHEMAS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE_MGR_SCHEMAS))
+#define GDA_IS_TREE_MGR_SCHEMAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE_MGR_SCHEMAS))
+
+typedef struct _GdaTreeMgrSchemas GdaTreeMgrSchemas;
+typedef struct _GdaTreeMgrSchemasPriv GdaTreeMgrSchemasPriv;
+typedef struct _GdaTreeMgrSchemasClass GdaTreeMgrSchemasClass;
+
+struct _GdaTreeMgrSchemas {
+	GdaTreeManager        object;
+	GdaTreeMgrSchemasPriv *priv;
+};
+
+struct _GdaTreeMgrSchemasClass {
+	GdaTreeManagerClass   object_class;
+};
+
+GType              gda_tree_mgr_schemas_get_type                 (void) G_GNUC_CONST;
+GdaTreeManager*    gda_tree_mgr_schemas_new                      (GdaConnection *cnc);
+
+G_END_DECLS
+
+#endif

Added: trunk/libgda/gda-tree-mgr-select.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-select.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,382 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib/gi18n-lib.h>
+#include <libgda/libgda.h>
+#include <sql-parser/gda-sql-parser.h>
+#include "gda-tree-mgr-select.h"
+#include "gda-tree-node.h"
+
+struct _GdaTreeMgrSelectPriv {
+	GdaConnection *cnc;
+	GdaStatement  *stmt;
+	GdaSet        *params; /* set by the constructor, may not contain values for all @stmt's params */
+	GdaSet        *priv_params;
+	GSList        *non_bound_params;
+};
+
+static void gda_tree_mgr_select_class_init (GdaTreeMgrSelectClass *klass);
+static void gda_tree_mgr_select_init       (GdaTreeMgrSelect *tmgr1, GdaTreeMgrSelectClass *klass);
+static void gda_tree_mgr_select_dispose    (GObject *object);
+static void gda_tree_mgr_select_set_property (GObject *object,
+					      guint param_id,
+					      const GValue *value,
+					      GParamSpec *pspec);
+static void gda_tree_mgr_select_get_property (GObject *object,
+					      guint param_id,
+					      GValue *value,
+					      GParamSpec *pspec);
+
+/* virtual methods */
+static GSList *gda_tree_mgr_select_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+						    gboolean *out_error, GError **error);
+
+static GObjectClass *parent_class = NULL;
+
+/* properties */
+enum {
+        PROP_0,
+	PROP_CNC,
+	PROP_STMT,
+	PROP_PARAMS
+};
+
+/*
+ * GdaTreeMgrSelect class implementation
+ * @klass:
+ */
+static void
+gda_tree_mgr_select_class_init (GdaTreeMgrSelectClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	/* virtual methods */
+	((GdaTreeManagerClass*) klass)->update_children = gda_tree_mgr_select_update_children;
+
+	/* Properties */
+        object_class->set_property = gda_tree_mgr_select_set_property;
+        object_class->get_property = gda_tree_mgr_select_get_property;
+
+	g_object_class_install_property (object_class, PROP_CNC,
+                                         g_param_spec_object ("connection", NULL, "Connection to use",
+                                                              GDA_TYPE_CONNECTION,
+                                                              G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+	g_object_class_install_property (object_class, PROP_STMT,
+                                         g_param_spec_object ("statement", NULL, "SELECT statement",
+                                                              GDA_TYPE_STATEMENT,
+                                                              G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+	g_object_class_install_property (object_class, PROP_PARAMS,
+                                         g_param_spec_object ("params", NULL, "Parameters for the SELECT statement",
+                                                              GDA_TYPE_SET,
+                                                              G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+
+	object_class->dispose = gda_tree_mgr_select_dispose;
+}
+
+static void
+gda_tree_mgr_select_init (GdaTreeMgrSelect *mgr, GdaTreeMgrSelectClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE_MGR_SELECT (mgr));
+	mgr->priv = g_new0 (GdaTreeMgrSelectPriv, 1);
+}
+
+static void
+gda_tree_mgr_select_dispose (GObject *object)
+{
+	GdaTreeMgrSelect *mgr = (GdaTreeMgrSelect *) object;
+
+	g_return_if_fail (GDA_IS_TREE_MGR_SELECT (mgr));
+
+	if (mgr->priv) {
+		if (mgr->priv->cnc)
+			g_object_unref (mgr->priv->cnc);
+		if (mgr->priv->stmt)
+			g_object_unref (mgr->priv->stmt);
+		if (mgr->priv->params)
+			g_object_unref (mgr->priv->params);
+		if (mgr->priv->priv_params)
+			g_object_unref (mgr->priv->priv_params);
+		if (mgr->priv->non_bound_params)
+			g_slist_free (mgr->priv->non_bound_params);
+
+		g_free (mgr->priv);
+		mgr->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+/**
+ * gda_tree_mgr_select_get_type
+ *
+ * Returns: the GType
+ *
+ * Since: 4.2
+ */
+GType
+gda_tree_mgr_select_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeMgrSelectClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_mgr_select_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTreeMgrSelect),
+                        0,
+                        (GInstanceInitFunc) gda_tree_mgr_select_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrSelect", &info, 0);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_mgr_select_set_property (GObject *object,
+				  guint param_id,
+				  const GValue *value,
+				  GParamSpec *pspec)
+{
+        GdaTreeMgrSelect *mgr;
+
+        mgr = GDA_TREE_MGR_SELECT (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			mgr->priv->cnc = (GdaConnection*) g_value_get_object (value);
+			if (mgr->priv->cnc)
+				g_object_ref (mgr->priv->cnc);
+			break;
+		case PROP_STMT:
+			mgr->priv->stmt = (GdaStatement*) g_value_get_object (value);
+			if (mgr->priv->stmt) {
+				GError *lerror = NULL;
+				g_object_ref (mgr->priv->stmt);
+				if (!gda_statement_get_parameters (mgr->priv->stmt, &(mgr->priv->priv_params), &lerror)) {
+					g_warning (_("Could not get SELECT statement's parameters: %s"),
+						   lerror && lerror->message ? lerror->message : _("No detail"));
+					if (lerror)
+						g_error_free (lerror);
+				}
+				if (mgr->priv->priv_params && mgr->priv->priv_params->holders)
+					mgr->priv->non_bound_params = g_slist_copy (mgr->priv->priv_params->holders);
+			}
+			break;
+		case PROP_PARAMS:
+			mgr->priv->params = (GdaSet*) g_value_get_object (value);
+			if (mgr->priv->params)
+				g_object_ref (mgr->priv->params);
+			break;
+                }
+        }
+
+	if (mgr->priv->priv_params && mgr->priv->params) {
+		/* bind holders in mgr->priv->priv_params to the ones in mgr->priv->params
+		 * if they exist */
+		GSList *params;
+		GSList *non_bound_params = NULL;
+
+		g_slist_free (mgr->priv->non_bound_params);
+		for (params = mgr->priv->priv_params->holders; params; params = params->next) {
+			GdaHolder *frh = GDA_HOLDER (params->data);
+			GdaHolder *toh = gda_set_get_holder (mgr->priv->params, gda_holder_get_id (frh));
+			if (toh) {
+				GError *lerror = NULL;
+				if (!gda_holder_set_bind (frh, toh, &lerror)) {
+					g_warning (_("Could bind SELECT statement's parameter '%s' "
+						     "to provided parameters: %s"),
+						   gda_holder_get_id (frh),
+						   lerror && lerror->message ? lerror->message : _("No detail"));
+					if (lerror)
+						g_error_free (lerror);
+					non_bound_params = g_slist_prepend (non_bound_params, frh);
+				}
+			}
+			else
+				non_bound_params = g_slist_prepend (non_bound_params, frh);
+		}
+		mgr->priv->non_bound_params = non_bound_params;
+	}
+}
+
+static void
+gda_tree_mgr_select_get_property (GObject *object,
+				   guint param_id,
+				   GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrSelect *mgr;
+
+        mgr = GDA_TREE_MGR_SELECT (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			g_value_set_object (value, mgr->priv->cnc);
+			break;
+		case PROP_STMT:
+			g_value_set_object (value, mgr->priv->stmt);
+			break;
+		case PROP_PARAMS:
+			g_value_set_object (value, mgr->priv->params);
+			break;
+                }
+        }
+}
+
+/**
+ * gda_tree_mgr_select_new
+ * @cnc: a #GdaConnection object
+ * @stmt: a #GdaStatement object representing a SELECT statement
+ * @params: a #GdaSet object representing fixed parameters which are to be used when executing @stmt
+ *
+ * Creates a new #GdaTreeMgrSelect object which will add one tree node for each row in
+ * the #GdaDataModel resulting from the execution of @stmt.
+ *
+ * Returns: a new #GdaTreeManager object
+ *
+ * Since: 4.2
+ */
+GdaTreeManager*
+gda_tree_mgr_select_new (GdaConnection *cnc, GdaStatement *stmt, GdaSet *params)
+{
+	g_return_val_if_fail (GDA_IS_CONNECTION (cnc), NULL);
+	g_return_val_if_fail (GDA_IS_STATEMENT (stmt), NULL);
+	g_return_val_if_fail (gda_statement_get_statement_type (stmt) == GDA_SQL_STATEMENT_SELECT, NULL);
+	g_return_val_if_fail (!params || GDA_IS_SET (params), NULL);
+
+	return (GdaTreeManager*) g_object_new (GDA_TYPE_TREE_MGR_SELECT,
+					       "connection", cnc, 
+					       "statement", stmt,
+					       "params", params, NULL);
+}
+
+static GSList *
+gda_tree_mgr_select_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+				     gboolean *out_error, GError **error)
+{
+	GdaTreeMgrSelect *mgr = GDA_TREE_MGR_SELECT (manager);
+	GdaDataModel *model;
+	GSList *list = NULL;
+
+	if (!mgr->priv->cnc) {
+		g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+			     _("No connection specified"));
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	if (!mgr->priv->stmt) {
+		g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+			     _("No SELECT statement specified"));
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	if (node && mgr->priv->non_bound_params) {
+		/* looking for values in @node's attributes */
+		GSList *nbplist;
+		for (nbplist = mgr->priv->non_bound_params; nbplist; nbplist = nbplist->next) {
+			const GValue *cvalue;
+			GdaHolder *holder = (GdaHolder*) nbplist->data;
+			cvalue = gda_tree_node_fetch_attribute (node, gda_holder_get_id (holder));
+			if (cvalue) {
+				if (!gda_holder_set_value (holder, cvalue, error)) {
+					if (out_error)
+						*out_error = TRUE;
+					return NULL;
+				}
+			}
+			else {
+				g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+					     _("No value specified for parameter '%s'"), gda_holder_get_id (holder));
+				if (out_error)
+					*out_error = TRUE;
+				return NULL;
+			}
+		}
+	}
+
+	model = gda_connection_statement_execute_select (mgr->priv->cnc, mgr->priv->stmt, mgr->priv->priv_params, error);
+	if (!model) {
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	GdaDataModelIter *iter;
+	GdaTreeManagerNodeFunc create_func = gda_tree_manager_get_node_create_func (manager);
+	iter = gda_data_model_create_iter (model);
+	for (; iter && gda_data_model_iter_move_next (iter);) {
+		GdaTreeNode* node;
+		const GValue *cvalue;
+		GSList *iholders;
+
+		for (iholders = GDA_SET (iter)->holders; iholders; iholders = iholders->next) {
+			GdaHolder *holder = (GdaHolder*) iholders->data;
+
+			if (!gda_holder_is_valid (holder) || !(cvalue = gda_holder_get_value (holder))) {
+				if (list) {
+					g_slist_foreach (list, (GFunc) g_object_unref, NULL);
+					g_slist_free (list);
+				}
+
+				if (out_error)
+					*out_error = TRUE;
+				g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+					     _("Unable to get iterator's value"));
+				return NULL;
+			}
+
+			if (iholders == GDA_SET (iter)->holders) {
+				if (create_func)
+					node = create_func (manager, node);
+				else {
+					gchar *str = gda_value_stringify (cvalue);
+					node = gda_tree_node_new (str);
+					g_free (str);
+				}
+				list = g_slist_prepend (list, node);
+			}
+			
+			gda_tree_node_set_node_attribute (node, g_strdup (gda_holder_get_id (holder)), cvalue, g_free);
+		}
+	}
+	if (iter)
+		g_object_unref (iter);
+	g_object_unref (model);
+
+	return list;
+}

Added: trunk/libgda/gda-tree-mgr-select.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-select.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,55 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_MGR_SELECT_H__
+#define __GDA_TREE_MGR_SELECT_H__
+
+#include <libgda/gda-connection.h>
+#include "gda-tree-manager.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE_MGR_SELECT            (gda_tree_mgr_select_get_type())
+#define GDA_TREE_MGR_SELECT(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE_MGR_SELECT, GdaTreeMgrSelect))
+#define GDA_TREE_MGR_SELECT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE_MGR_SELECT, GdaTreeMgrSelectClass))
+#define GDA_IS_TREE_MGR_SELECT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE_MGR_SELECT))
+#define GDA_IS_TREE_MGR_SELECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE_MGR_SELECT))
+
+typedef struct _GdaTreeMgrSelect GdaTreeMgrSelect;
+typedef struct _GdaTreeMgrSelectPriv GdaTreeMgrSelectPriv;
+typedef struct _GdaTreeMgrSelectClass GdaTreeMgrSelectClass;
+
+struct _GdaTreeMgrSelect {
+	GdaTreeManager        object;
+	GdaTreeMgrSelectPriv *priv;
+};
+
+struct _GdaTreeMgrSelectClass {
+	GdaTreeManagerClass   object_class;
+};
+
+GType              gda_tree_mgr_select_get_type                 (void) G_GNUC_CONST;
+GdaTreeManager*    gda_tree_mgr_select_new                      (GdaConnection *cnc, GdaStatement *stmt, GdaSet *params);
+
+G_END_DECLS
+
+#endif

Added: trunk/libgda/gda-tree-mgr-tables.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-tables.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,363 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib/gi18n-lib.h>
+#include <libgda/libgda.h>
+#include <sql-parser/gda-sql-parser.h>
+#include "gda-tree-mgr-tables.h"
+#include "gda-tree-node.h"
+
+struct _GdaTreeMgrTablesPriv {
+	GdaConnection *cnc;
+	gchar         *schema; /* imposed upon construction */
+
+	GdaStatement  *stmt_with_schema;
+	GdaStatement  *stmt_all_visible;
+	GdaSet        *params;
+};
+
+static void gda_tree_mgr_tables_class_init (GdaTreeMgrTablesClass *klass);
+static void gda_tree_mgr_tables_init       (GdaTreeMgrTables *tmgr1, GdaTreeMgrTablesClass *klass);
+static void gda_tree_mgr_tables_dispose    (GObject *object);
+static void gda_tree_mgr_tables_set_property (GObject *object,
+					      guint param_id,
+					      const GValue *value,
+					      GParamSpec *pspec);
+static void gda_tree_mgr_tables_get_property (GObject *object,
+					      guint param_id,
+					      GValue *value,
+					      GParamSpec *pspec);
+
+/* virtual methods */
+static GSList *gda_tree_mgr_tables_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+						    gboolean *out_error, GError **error);
+
+static GObjectClass *parent_class = NULL;
+
+/* properties */
+enum {
+        PROP_0,
+	PROP_CNC,
+	PROP_SCHEMA
+};
+
+/*
+ * GdaTreeMgrTables class implementation
+ * @klass:
+ */
+static void
+gda_tree_mgr_tables_class_init (GdaTreeMgrTablesClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	/* virtual methods */
+	((GdaTreeManagerClass*) klass)->update_children = gda_tree_mgr_tables_update_children;
+
+	/* Properties */
+        object_class->set_property = gda_tree_mgr_tables_set_property;
+        object_class->get_property = gda_tree_mgr_tables_get_property;
+
+	g_object_class_install_property (object_class, PROP_CNC,
+                                         g_param_spec_object ("connection", NULL, "Connection to use",
+                                                              GDA_TYPE_CONNECTION,
+                                                              G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+	/**
+	 * GdaTreeMgrTables:schema:
+	 * If no set, then the table name will be fetched from the parent node using the "schema" attribute. If not
+	 * found that way, then the list of visible tables (tables which can be identified without having to specify
+	 * a schema) will be used
+	 */
+        g_object_class_install_property (object_class, PROP_SCHEMA,
+                                         g_param_spec_string ("schema", NULL,
+                                                              "Database schema to get the tables list from",
+                                                              NULL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+
+	object_class->dispose = gda_tree_mgr_tables_dispose;
+}
+
+static void
+gda_tree_mgr_tables_init (GdaTreeMgrTables *mgr, GdaTreeMgrTablesClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE_MGR_TABLES (mgr));
+	mgr->priv = g_new0 (GdaTreeMgrTablesPriv, 1);
+}
+
+static void
+gda_tree_mgr_tables_dispose (GObject *object)
+{
+	GdaTreeMgrTables *mgr = (GdaTreeMgrTables *) object;
+
+	g_return_if_fail (GDA_IS_TREE_MGR_TABLES (mgr));
+
+	if (mgr->priv) {
+		if (mgr->priv->cnc)
+			g_object_unref (mgr->priv->cnc);
+		g_free (mgr->priv->schema);
+
+		if (mgr->priv->stmt_with_schema)
+			g_object_unref (mgr->priv->stmt_with_schema);
+		if (mgr->priv->stmt_all_visible)
+			g_object_unref (mgr->priv->stmt_all_visible);
+		if (mgr->priv->params)
+			g_object_unref (mgr->priv->params);
+
+		g_free (mgr->priv);
+		mgr->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+/**
+ * gda_tree_mgr_select_get_type
+ *
+ * Returns: the GType
+ *
+ * Since: 4.2
+ */
+GType
+gda_tree_mgr_tables_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeMgrTablesClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_mgr_tables_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTreeMgrTables),
+                        0,
+                        (GInstanceInitFunc) gda_tree_mgr_tables_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrTables", &info, 0);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_mgr_tables_set_property (GObject *object,
+				   guint param_id,
+				   const GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrTables *mgr;
+
+        mgr = GDA_TREE_MGR_TABLES (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			mgr->priv->cnc = (GdaConnection*) g_value_get_object (value);
+			if (mgr->priv->cnc)
+				g_object_ref (mgr->priv->cnc);
+			break;
+		case PROP_SCHEMA:
+			mgr->priv->schema = g_value_dup_string (value);
+			break;
+                }
+        }
+}
+
+static void
+gda_tree_mgr_tables_get_property (GObject *object,
+				   guint param_id,
+				   GValue *value,
+				   GParamSpec *pspec)
+{
+        GdaTreeMgrTables *mgr;
+
+        mgr = GDA_TREE_MGR_TABLES (object);
+        if (mgr->priv) {
+                switch (param_id) {
+		case PROP_CNC:
+			g_value_set_object (value, mgr->priv->cnc);
+			break;
+		case PROP_SCHEMA:
+			g_value_set_string (value, mgr->priv->schema);
+			break;
+                }
+        }
+}
+
+/**
+ * gda_tree_mgr_tables_new
+ * @cnc: a #GdaConnection object
+ * @schema: a schema name or %NULL
+ *
+ * Creates a new #GdaTreeManager object which will add one tree node for each table found in the
+ * @schema if it is not %NULL, or for each table visible by default in @cnc.
+ *
+ * Returns: a new #GdaTreeManager object
+ *
+ * Since: 4.2
+ */
+GdaTreeManager*
+gda_tree_mgr_tables_new (GdaConnection *cnc, const gchar *schema)
+{
+	GdaTreeMgrTables *mgr;
+	g_return_val_if_fail (GDA_IS_CONNECTION (cnc), NULL);
+
+	mgr = (GdaTreeMgrTables*) g_object_new (GDA_TYPE_TREE_MGR_TABLES,
+						"connection", cnc, 
+						"schema", schema, NULL);
+	return (GdaTreeManager*) mgr;
+}
+
+static GSList *
+gda_tree_mgr_tables_update_children (GdaTreeManager *manager, GdaTreeNode *node, const GSList *children_nodes,
+				     gboolean *out_error, GError **error)
+{
+	GdaTreeMgrTables *mgr = GDA_TREE_MGR_TABLES (manager);
+	GdaMetaStore *store;
+	GdaDataModel *model;
+	GSList *list = NULL;
+	GdaConnection *scnc;
+
+	if (!mgr->priv->cnc) {
+		g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+			     _("No connection specified"));
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	store = gda_connection_get_meta_store (mgr->priv->cnc);
+	scnc = gda_meta_store_get_internal_connection (store);
+
+	/* create statements if necessary */
+	if (!mgr->priv->stmt_with_schema) {
+		GdaSqlParser *parser;
+		GdaStatement *stmt1, *stmt2;
+
+		parser = gda_connection_create_parser (scnc);
+		if (! parser)
+			parser = gda_sql_parser_new ();
+
+		stmt1 = gda_sql_parser_parse_string (parser,
+						     "SELECT table_name, table_schema FROM "
+						     "_tables WHERE "
+						     "table_type LIKE '%TABLE%' AND "
+						     "table_schema = ##schema::string "
+						     "ORDER BY table_name DESC", NULL, error);
+
+		stmt2 = gda_sql_parser_parse_string (parser,
+						     "SELECT table_short_name, table_schema "
+						     "FROM _tables WHERE "
+						     "table_type LIKE '%TABLE%' AND "
+						     "table_short_name != table_full_name "
+						     "ORDER BY table_short_name DESC", NULL, error);
+		g_object_unref (parser);
+		if (!stmt1 || !stmt2) {
+			if (out_error)
+				*out_error = TRUE;
+			if (stmt1) g_object_unref (stmt1);
+			if (stmt2) g_object_unref (stmt2);
+			return NULL;
+		}
+
+		if (!gda_statement_get_parameters (stmt1, &(mgr->priv->params), error)) {
+			if (out_error)
+				*out_error = TRUE;
+			g_object_unref (stmt1);
+			g_object_unref (stmt2);
+			return NULL;
+		}
+		mgr->priv->stmt_with_schema = stmt1;
+		mgr->priv->stmt_all_visible = stmt2;
+	}
+
+	gboolean schema_specified = FALSE;
+	gboolean schema_from_parent = FALSE;
+	if (mgr->priv->schema) {
+		schema_specified = TRUE;
+		g_assert (gda_set_set_holder_value (mgr->priv->params, NULL, "schema", mgr->priv->schema));
+	}
+	else if (node) {
+		/* looking for a schema in @node's attributes */
+		const GValue *cvalue;
+		cvalue = gda_tree_node_fetch_attribute (node, "schema");
+		if (cvalue) {
+			GdaHolder *h = gda_set_get_holder (mgr->priv->params, "schema");
+			if (!gda_holder_set_value (h, cvalue, error)) {
+				if (out_error)
+					*out_error = TRUE;
+				return NULL;
+			}
+			schema_specified = TRUE;
+			schema_from_parent = TRUE;
+		}
+	}
+	if (schema_specified)
+		model = gda_connection_statement_execute_select (scnc, mgr->priv->stmt_with_schema, 
+								 mgr->priv->params, error);
+	else
+		model = gda_connection_statement_execute_select (scnc, mgr->priv->stmt_all_visible, 
+								 NULL, error);
+
+	if (!model) {
+		if (out_error)
+			*out_error = TRUE;
+		return NULL;
+	}
+
+	GdaDataModelIter *iter;
+	iter = gda_data_model_create_iter (model);
+	for (; iter && gda_data_model_iter_move_next (iter);) {
+		GdaTreeNode* node;
+		const GValue *cvalue, *cvalue2;
+
+		cvalue = gda_data_model_iter_get_value_at (iter, 0);
+		cvalue2 = gda_data_model_iter_get_value_at (iter, 1);
+		if (!cvalue || !cvalue2) {
+			if (list) {
+				g_slist_foreach (list, (GFunc) g_object_unref, NULL);
+				g_slist_free (list);
+			}
+			if (out_error)
+				*out_error = TRUE;
+			g_set_error (error, GDA_TREE_MANAGER_ERROR, GDA_TREE_MANAGER_UNKNOWN_ERROR,
+				     _("Unable to get table name"));
+			return NULL;
+		}
+
+		node = gda_tree_node_new (g_value_get_string (cvalue));
+		gda_tree_node_set_node_attribute (node, "table_name", cvalue, NULL);
+		if (!schema_from_parent)
+			gda_tree_node_set_node_attribute (node, "schema", cvalue2, NULL);
+		list = g_slist_prepend (list, node);
+	}
+	if (iter)
+		g_object_unref (iter);
+	g_object_unref (model);
+
+	return list;
+}

Added: trunk/libgda/gda-tree-mgr-tables.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-mgr-tables.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,55 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_MGR_TABLES_H__
+#define __GDA_TREE_MGR_TABLES_H__
+
+#include <libgda/gda-connection.h>
+#include "gda-tree-manager.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE_MGR_TABLES            (gda_tree_mgr_tables_get_type())
+#define GDA_TREE_MGR_TABLES(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE_MGR_TABLES, GdaTreeMgrTables))
+#define GDA_TREE_MGR_TABLES_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE_MGR_TABLES, GdaTreeMgrTablesClass))
+#define GDA_IS_TREE_MGR_TABLES(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE_MGR_TABLES))
+#define GDA_IS_TREE_MGR_TABLES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE_MGR_TABLES))
+
+typedef struct _GdaTreeMgrTables GdaTreeMgrTables;
+typedef struct _GdaTreeMgrTablesPriv GdaTreeMgrTablesPriv;
+typedef struct _GdaTreeMgrTablesClass GdaTreeMgrTablesClass;
+
+struct _GdaTreeMgrTables {
+	GdaTreeManager        object;
+	GdaTreeMgrTablesPriv *priv;
+};
+
+struct _GdaTreeMgrTablesClass {
+	GdaTreeManagerClass   object_class;
+};
+
+GType              gda_tree_mgr_tables_get_type                 (void) G_GNUC_CONST;
+GdaTreeManager*    gda_tree_mgr_tables_new                      (GdaConnection *cnc, const gchar *schema);
+
+G_END_DECLS
+
+#endif

Added: trunk/libgda/gda-tree-node.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-node.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,607 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <string.h>
+#include "gda-tree-node.h"
+#include "gda-tree-manager.h"
+#include <libgda/gda-attributes-manager.h>
+#include <libgda/gda-value.h>
+
+struct _GdaTreeNodePrivate {
+	GdaTreeManager *manager;
+        GSList         *children; /* list of GdaTreeNodesList */
+	GdaTreeNode    *parent;
+};
+
+/*
+ * The GdaTreeNodesList stores the list of children nodes created by a GdaTreeManager object
+ */
+typedef struct {
+	GdaTreeManager *mgr; /* which created @nodes */
+	GSList         *nodes; /* list of GdaTreeNode */
+	gint            length; /* length of @nodes */
+} GdaTreeNodesList;
+#define GDA_TREE_NODES_LIST(x) ((GdaTreeNodesList*)(x))
+
+GdaTreeNodesList *_gda_nodes_list_new (GdaTreeManager *mgr, GSList *nodes);
+void              _gda_nodes_list_free (GdaTreeNodesList *nl);
+
+/*
+ * GObject functions
+ */
+static void gda_tree_node_class_init (GdaTreeNodeClass *klass);
+static void gda_tree_node_init       (GdaTreeNode *tnode, GdaTreeNodeClass *klass);
+static void gda_tree_node_dispose    (GObject *object);
+static void gda_tree_node_set_property (GObject *object,
+					guint param_id,
+					const GValue *value,
+					GParamSpec *pspec);
+static void gda_tree_node_get_property (GObject *object,
+					guint param_id,
+					GValue *value,
+					GParamSpec *pspec);
+
+/* default virtual methods */
+static gchar *gda_tree_node_dump_header (GdaTreeNode *node);
+static void gda_tree_node_dump_children (GdaTreeNode *node, const gchar *prefix, GString *in_string);
+
+enum {
+	LAST_SIGNAL
+};
+
+static gint gda_tree_node_signals[LAST_SIGNAL] = { };
+
+/* properties */
+enum {
+	PROP_0,
+	PROP_NAME
+};
+
+static GObjectClass *parent_class = NULL;
+GdaAttributesManager *gda_tree_node_attributes_manager;
+
+/*
+ * GdaTreeNode class implementation
+ * @klass:
+ */
+static void
+gda_tree_node_class_init (GdaTreeNodeClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	/* virtual methods */
+	klass->dump_header = gda_tree_node_dump_header;
+	klass->dump_children = gda_tree_node_dump_children;
+
+	/* Properties */
+        object_class->set_property = gda_tree_node_set_property;
+        object_class->get_property = gda_tree_node_get_property;
+
+	g_object_class_install_property (object_class, PROP_NAME,
+                                         g_param_spec_string ("name", NULL,
+                                                              "Node's name attribute",
+                                                              NULL, G_PARAM_WRITABLE | G_PARAM_READABLE));
+
+	object_class->dispose = gda_tree_node_dispose;
+
+	/* extra */
+	gda_tree_node_attributes_manager = gda_attributes_manager_new (TRUE, NULL, NULL);
+}
+
+static void
+gda_tree_node_init (GdaTreeNode *tnode, GdaTreeNodeClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE_NODE (tnode));
+
+	tnode->priv = g_new0 (GdaTreeNodePrivate, 1);
+	tnode->priv->manager = NULL;
+	tnode->priv->children = NULL;
+}
+
+static void
+gda_tree_node_dispose (GObject *object)
+{
+	GdaTreeNode *tnode = (GdaTreeNode *) object;
+
+	g_return_if_fail (GDA_IS_TREE_NODE (tnode));
+
+	if (tnode->priv) {
+		if (tnode->priv->manager)
+			g_object_unref (tnode->priv->manager);
+		if (tnode->priv->children) {
+			g_slist_foreach (tnode->priv->children, (GFunc) _gda_nodes_list_free, NULL);
+			g_slist_free (tnode->priv->children);
+		}
+		g_free (tnode->priv);
+		tnode->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+
+/* module error */
+GQuark gda_tree_node_error_quark (void)
+{
+        static GQuark quark;
+        if (!quark)
+                quark = g_quark_from_static_string ("gda_tree_node_error");
+        return quark;
+}
+
+/**
+ * gda_tree_node_get_type
+ * 
+ * Registers the #GdaTreeNode class on the GLib type system.
+ * 
+ * Returns: the GType identifying the class.
+ */
+GType
+gda_tree_node_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeNodeClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_node_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTreeNode),
+                        0,
+                        (GInstanceInitFunc) gda_tree_node_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (G_TYPE_OBJECT, "GdaTreeNode", &info, 0);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_node_set_property (GObject *object,
+			    guint param_id,
+			    const GValue *value,
+			    GParamSpec *pspec)
+{
+	GdaTreeNode *tnode;
+
+        tnode = GDA_TREE_NODE (object);
+        if (tnode->priv) {
+                switch (param_id) {
+		case PROP_NAME:
+			gda_attributes_manager_set (gda_tree_node_attributes_manager, tnode, GDA_ATTRIBUTE_NAME, value);
+			break;
+		}	
+	}
+}
+
+static void
+gda_tree_node_get_property (GObject *object,
+			    guint param_id,
+			    GValue *value,
+			    GParamSpec *pspec)
+{
+	GdaTreeNode *tnode;
+	
+	tnode = GDA_TREE_NODE (object);
+	if (tnode->priv) {
+		switch (param_id) {
+		case PROP_NAME: {
+			const GValue *cvalue = gda_attributes_manager_get (gda_tree_node_attributes_manager, tnode,
+									   GDA_ATTRIBUTE_NAME);
+			g_value_set_string (value, cvalue ? g_value_get_string (cvalue): NULL);
+			break;
+		}
+		}
+	}	
+}
+
+static void
+attributes_foreach_func (const gchar *att_name, const GValue *value, GString *string)
+{
+	gchar *str = gda_value_stringify (value);
+	g_string_append_printf (string, " %s=%s", att_name, str);
+	g_free (str);
+}
+
+
+static gchar *
+gda_tree_node_dump_header (GdaTreeNode *node)
+{
+	const GValue *cvalue;
+
+	cvalue = gda_attributes_manager_get (gda_tree_node_attributes_manager, node,
+					     GDA_ATTRIBUTE_NAME);
+#ifdef GDA_DEBUG_NO
+	GString *string;
+	string = g_string_new ("");
+	if (cvalue)
+		g_string_append (string, g_value_get_string (cvalue));
+	else
+		g_string_append (string, "Unnamed node");
+	g_string_append_c (string, ':');
+	gda_attributes_manager_foreach (gda_tree_node_attributes_manager, node,
+					(GdaAttributesManagerFunc) attributes_foreach_func, string);
+	return g_string_free (string, FALSE);
+#else
+	if (cvalue)
+		return g_strdup (g_value_get_string (cvalue));
+	else
+		return g_strdup_printf ("Unnamed node");
+#endif
+}
+
+
+static void
+gda_tree_node_dump_children (GdaTreeNode *node, const gchar *prefix, GString *in_string)
+{
+	gchar *prefix2 = "|-- ";
+	GdaTreeNodeClass *klass;
+	GSList *parts;
+
+	for (parts = node->priv->children; parts; parts = parts->next) { 
+		GSList *list;
+		GdaTreeNodesList *tn = GDA_TREE_NODES_LIST (parts->data);
+		for (list = tn->nodes; list; list = list->next) {
+			GdaTreeNode *child_node = GDA_TREE_NODE (list->data);
+			klass = (GdaTreeNodeClass*) G_OBJECT_GET_CLASS (child_node);
+			
+			/* header */
+			if ((!list->next) && (!parts->next))
+				prefix2 = "`-- ";
+			if (klass->dump_header) {
+				gchar *tmp = klass->dump_header (child_node);
+				g_string_append_printf (in_string, "%s%s%s\n", prefix, prefix2, tmp);
+				g_free (tmp);
+			}
+			else
+				g_string_append_printf (in_string, "%s%sGdaTreeNode (%s) %p\n", prefix, prefix2, 
+							G_OBJECT_TYPE_NAME(child_node), child_node);
+			
+			/* contents */
+			gchar *ch_prefix;
+			if (list->next || parts->next)
+				ch_prefix = g_strdup_printf ("%s|   ", prefix);
+			else
+				ch_prefix = g_strdup_printf ("%s    ", prefix);
+			if (klass->dump_children)
+				klass->dump_children (child_node, ch_prefix, in_string);
+			else
+				gda_tree_node_dump_children (child_node, ch_prefix, in_string);
+			g_free (ch_prefix);
+		}
+	}
+}
+
+/**
+ * gda_tree_node_new
+ * @name: a name, or %NULL
+ *
+ * Creates a new #GdaTreeNode object
+ *
+ * Returns: a new #GdaTreeNode
+ */
+GdaTreeNode *
+gda_tree_node_new (const gchar *name)
+{
+	return (GdaTreeNode*) g_object_new (GDA_TYPE_TREE_NODE, "name", name, NULL);
+}
+
+/**
+ * _gda_tree_node_add_children
+ * @node: a #GdaTreeNode
+ * @mgr: a #GdaTreeManager object
+ * @childen: a list of #GdaTreeNode objects, or %NULL
+ *
+ * Requests that @node take the list of nodes in @children as its children.
+ *
+ * @children is used as is and should not be used anymore afterwards by the caller. Moreover @node steals the
+ * ownership of each #GdaTreeNode object listed in it.
+ */
+void
+_gda_tree_node_add_children (GdaTreeNode *node, GdaTreeManager *mgr, GSList *children)
+{
+	GSList *list;
+	GdaTreeNodesList *tn, *etn;
+	gint pos;
+	g_return_if_fail (GDA_IS_TREE_NODE (node));
+	g_return_if_fail (GDA_IS_TREE_MANAGER (mgr));
+
+	/* find existing GdaTreeNodesList */
+	for (etn = NULL, pos = 0, list = node->priv->children; list; list = list->next, pos++) {
+		if (GDA_TREE_NODES_LIST (list->data)->mgr == mgr) {
+			etn = GDA_TREE_NODES_LIST (list->data);
+			break;
+		}
+	}
+
+	/* prepare new GdaTreeNodesList */
+	for (list = children; list; list = list->next) {
+		GdaTreeNode *child = GDA_TREE_NODE (list->data);
+		child->priv->parent = node;
+	}
+	tn = _gda_nodes_list_new (mgr, children);
+	
+	/* insert into node->priv->children */
+	if (etn) {
+		g_slist_nth (node->priv->children, pos)->data = tn;
+		_gda_nodes_list_free (etn);
+	}
+	else
+		node->priv->children = g_slist_append (node->priv->children, tn);
+}
+
+/**
+ * _gda_tree_node_get_children_for_manager
+ * @node: a #GdaTreeNode
+ * @manager: a #GdaTreeManager
+ *
+ * Get the list of #GdaTreeNode objects which have already bee created by @mgr.
+ *
+ * Returns: a list (which must not be modified), or %NULL
+ */
+const GSList *
+_gda_tree_node_get_children_for_manager (GdaTreeNode *node, GdaTreeManager *mgr)
+{
+	GdaTreeNodesList *etn;
+	GSList *list;
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), NULL);
+	g_return_val_if_fail (GDA_IS_TREE_MANAGER (mgr), NULL);
+	
+	for (etn = NULL, list = node->priv->children; list; list = list->next) {
+		if (GDA_TREE_NODES_LIST (list->data)->mgr == mgr)
+			return GDA_TREE_NODES_LIST (list->data)->nodes;
+	}
+	return NULL;
+}
+
+/**
+ * _gda_tree_node_get_managers_for_children
+ */
+GSList *
+_gda_tree_node_get_managers_for_children (GdaTreeNode *node)
+{
+	GSList *list, *mgrlist = NULL;
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), NULL);
+	
+	for (list = node->priv->children; list; list = list->next)
+		mgrlist = g_slist_prepend (mgrlist, GDA_TREE_NODES_LIST (list->data)->mgr);
+	
+	return g_slist_reverse (mgrlist);
+}
+
+/**
+ * gda_tree_node_fetch_attribute
+ * @node: a #GdaTreeNode
+ * @attribute: attribute name as a string
+ *
+ * Get the value associated to the attribute named @attribute for @node. If the attribute is not set,
+ * then @node's parents is queries (recursively up to the top level node).
+ *
+ * Attributes can have any name, but Libgda proposes some default names,
+ * see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.
+ *
+ * Returns: a read-only #GValue, or %NULL if not attribute named @attribute has been set for @node
+ */
+const GValue *
+gda_tree_node_fetch_attribute (GdaTreeNode *node, const gchar *attribute)
+{
+	const GValue *cvalue;
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), NULL);
+
+	cvalue = gda_attributes_manager_get (gda_tree_node_attributes_manager, node, attribute);
+	if (!cvalue && node->priv->parent)
+		cvalue = gda_tree_node_fetch_attribute (node->priv->parent, attribute);
+	return cvalue;
+}
+
+/**
+ * gda_tree_node_get_node_attribute
+ * @node: a #GdaTreeNode
+ * @attribute: attribute name as a string
+ *
+ * Get the value associated to the attribute named @attribute for @node. The difference with gda_tree_node_fetch_attribute()
+ * is that gda_tree_node_fetch_attribute() will also query @node's parents (recursively up to the top level node) if
+ * the attribute is not set for @node.
+ *
+ * Attributes can have any name, but Libgda proposes some default names, 
+ * see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.
+ *
+ * Returns: a read-only #GValue, or %NULL if not attribute named @attribute has been set for @node
+ */
+const GValue *
+gda_tree_node_get_node_attribute (GdaTreeNode *node, const gchar *attribute)
+{
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), NULL);
+
+	return gda_attributes_manager_get (gda_tree_node_attributes_manager, node, attribute);
+}
+
+/**
+ * gda_tree_node_set_node_attribute
+ * @node: a #GdaTreeNode
+ * @attribute: attribute name
+ * @value: a #GValue, or %NULL
+ * @destroy: a function to be called when @attribute is not needed anymore, or %NULL
+ *
+ * Set the value associated to a named attribute. The @attribute string is 'stolen' by this method, and
+ * the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL,
+ * then the string will not be freed at all).
+ *
+ * Attributes can have any name, but Libgda proposes some default names, 
+ * see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.
+ *
+ * For example one would use it as:
+ *
+ * <code>
+ * gda_tree_node_set_node_attribute (node, g_strdup (my_attribute), g_free, my_value);
+ * gda_tree_node_set_node_attribute (node, GDA_ATTRIBUTE_NAME, NULL, my_value);
+ * </code>
+ *
+ * If there is already an attribute named @attribute set, then its value is replaced with the new value (@value is
+ * copied), except if @value is %NULL, in which case the attribute is removed.
+ */
+void
+gda_tree_node_set_node_attribute (GdaTreeNode *node, const gchar *attribute, const GValue *value, GDestroyNotify destroy)
+{
+	const GValue *cvalue;
+	g_return_if_fail (GDA_IS_TREE_NODE (node));
+
+	cvalue = gda_attributes_manager_get (gda_tree_node_attributes_manager, node, attribute);
+	if ((value && cvalue && !gda_value_differ (cvalue, value)) ||
+	    (!value && !cvalue))
+		return;
+
+	gda_attributes_manager_set_full (gda_tree_node_attributes_manager, node, attribute, value, destroy);
+}
+
+/**
+ * gda_tree_node_get_children
+ * @node: a #GdaTreeNode object
+ *
+ * Get a list of all @node's children, free it with g_slist_free() after usage
+ *
+ * Returns: a new #GSList of #GdaTreeNode objects, or %NULL if @node does not have any child
+ */
+GSList *
+gda_tree_node_get_children (GdaTreeNode *node)
+{
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), NULL);
+	if (node->priv->children) {
+		GSList *parts, *list = NULL;
+		
+		for (parts = node->priv->children; parts; parts = parts->next) {
+			if (GDA_TREE_NODES_LIST (parts->data)->nodes)
+				list = g_slist_concat (list, g_slist_copy (GDA_TREE_NODES_LIST (parts->data)->nodes));
+		}
+		return list;
+	}
+	else
+		return NULL;
+}
+
+/**
+ * gda_tree_node_get_child_index
+ * @node: a #GdaTreeNode object
+ * @index: a index
+ *
+ * Get the #GdaTreeNode child of @node at position @index (starting at 0).
+ *
+ * Returns: the #GdaTreeNode, or %NULL if not found
+ */
+GdaTreeNode *
+gda_tree_node_get_child_index (GdaTreeNode *node, gint index)
+{
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), NULL);
+	g_return_val_if_fail (index >= 0, NULL);
+
+	if (node->priv->children) {
+		gint i = index;
+		GSList *parts;
+		for (parts = node->priv->children; parts; parts = parts->next) {
+			GdaTreeNodesList *tn = GDA_TREE_NODES_LIST (parts->data);
+			if (index < tn->length)
+				return g_slist_nth_data (tn->nodes, index);
+			i -= tn->length;
+		}
+		return NULL;
+	}
+	else
+		return NULL;
+}
+
+/**
+ * gda_tree_node_get_child_name
+ * @node: a #GdaTreeNode object
+ * @name: requested node's name
+ *
+ * Get the #GdaTreeNode child of @node which has the #GDA_ATTRIBUTE_NAME set to @name
+ *
+ * Returns: the #GdaTreeNode, or %NULL if not found
+ */
+GdaTreeNode *
+gda_tree_node_get_child_name (GdaTreeNode *node, const gchar *name)
+{
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), NULL);
+	g_return_val_if_fail (name, NULL);
+
+	if (node->priv->children) {
+		GSList *parts;
+		for (parts = node->priv->children; parts; parts = parts->next) {
+			GdaTreeNodesList *tn = GDA_TREE_NODES_LIST (parts->data);
+			GSList *list;
+			for (list = tn->nodes; list; list = list->next) {
+				const GValue *cvalue;
+				cvalue = gda_attributes_manager_get (gda_tree_node_attributes_manager, list->data,
+								     GDA_ATTRIBUTE_NAME);
+				if (cvalue) {
+					const gchar *cname = g_value_get_string (cvalue);
+					if (cname && !strcmp (name, cname))
+						return (GdaTreeNode*) list->data;
+				}
+			}
+		}
+	}
+	return NULL;
+}
+
+
+
+
+/*
+ * - increase @mgr's ref count
+ * - steals @nodes and the ownenship of each #GdaTreeNode listed in it
+ */
+GdaTreeNodesList *
+_gda_nodes_list_new (GdaTreeManager *mgr, GSList *nodes)
+{
+	GdaTreeNodesList *nl;
+
+	g_assert (mgr);
+	nl = g_new0 (GdaTreeNodesList, 1);
+	nl->mgr = g_object_ref (mgr);
+	if (nodes) {
+		nl->nodes = nodes;
+		nl->length = g_slist_length (nodes);
+	}
+	return nl;
+}
+
+void
+_gda_nodes_list_free (GdaTreeNodesList *nl)
+{
+	if (nl->nodes) {
+		g_slist_foreach (nl->nodes, (GFunc) g_object_unref, NULL);
+		g_slist_free (nl->nodes);
+		g_object_unref (nl->mgr);
+	}
+	g_free (nl);
+}

Added: trunk/libgda/gda-tree-node.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree-node.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,83 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_NODE_H__
+#define __GDA_TREE_NODE_H__
+
+#include <glib-object.h>
+#include "gda-decl.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE_NODE            (gda_tree_node_get_type())
+#define GDA_TREE_NODE(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE_NODE, GdaTreeNode))
+#define GDA_TREE_NODE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE_NODE, GdaTreeNodeClass))
+#define GDA_IS_TREE_NODE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE_NODE))
+#define GDA_IS_TREE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE_NODE))
+
+/* error reporting */
+extern GQuark gda_tree_node_error_quark (void);
+#define GDA_TREE_NODE_ERROR gda_tree_node_error_quark ()
+
+typedef enum {
+	GDA_TREE_NODE_UNKNOWN_ERROR
+} GdaTreeNodeError;
+
+struct _GdaTreeNode {
+	GObject             object;
+	GdaTreeNodePrivate *priv;
+};
+
+struct _GdaTreeNodeClass {
+	GObjectClass        object_class;
+
+	/* virtual methods */
+	gchar              *(*dump_header) (GdaTreeNode *node);
+	void                (*dump_children) (GdaTreeNode *node, const gchar *prefix, GString *in_string);
+
+	/* Padding for future expansion */
+	void (*_gda_reserved1) (void);
+	void (*_gda_reserved2) (void);
+	void (*_gda_reserved3) (void);
+	void (*_gda_reserved4) (void);
+};
+
+GType              gda_tree_node_get_type          (void) G_GNUC_CONST;
+GdaTreeNode*       gda_tree_node_new               (const gchar *name);
+
+GSList            *gda_tree_node_get_children      (GdaTreeNode *node);
+GdaTreeNode       *gda_tree_node_get_child_index   (GdaTreeNode *node, gint index);
+GdaTreeNode       *gda_tree_node_get_child_name    (GdaTreeNode *node, const gchar *name);
+
+void               gda_tree_node_set_node_attribute(GdaTreeNode *node, const gchar *attribute, const GValue *value,
+						    GDestroyNotify destroy);
+const GValue      *gda_tree_node_get_node_attribute(GdaTreeNode *node, const gchar *attribute);
+const GValue      *gda_tree_node_fetch_attribute   (GdaTreeNode *node, const gchar *attribute);
+
+/* private */
+void               _gda_tree_node_add_children     (GdaTreeNode *node, GdaTreeManager *mgr, GSList *children);
+const GSList      *_gda_tree_node_get_children_for_manager (GdaTreeNode *node, GdaTreeManager *mgr);
+GSList            *_gda_tree_node_get_managers_for_children (GdaTreeNode *node);
+
+G_END_DECLS
+
+#endif

Added: trunk/libgda/gda-tree.c
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,687 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <string.h>
+#include <stdlib.h>
+#include <glib/gprintf.h>
+#include <glib/gi18n-lib.h>
+#include <libgda/gda-attributes-manager.h>
+#include "gda-tree.h"
+#include "gda-tree-manager.h"
+#include "gda-tree-node.h"
+
+struct _GdaTreePrivate {
+	GSList      *managers; /* list of GdaTreeManager */
+	GdaTreeNode *root;
+
+	gboolean     update_on_searching; /* set to FALSE if GdaTree's contents is supposed to be constant
+					   * needs a PROPRERTY because it's now a constant, or even
+					   * maybe move it to each GdaTreeManager */
+};
+
+static void gda_tree_class_init (GdaTreeClass *klass);
+static void gda_tree_init       (GdaTree *tree, GdaTreeClass *klass);
+static void gda_tree_dispose    (GObject *object);
+static void gda_tree_set_property (GObject *object,
+				   guint param_id,
+				   const GValue *value,
+				   GParamSpec *pspec);
+static void gda_tree_get_property (GObject *object,
+				   guint param_id,
+				   GValue *value,
+				   GParamSpec *pspec);
+
+enum {
+	LAST_SIGNAL
+};
+
+static gint gda_tree_signals[LAST_SIGNAL] = { };
+extern GdaAttributesManager *gda_tree_node_attributes_manager;
+
+/* properties */
+enum {
+	PROP_0,
+};
+
+static GObjectClass *parent_class = NULL;
+
+/*
+ * GdaTree class implementation
+ * @klass:
+ */
+static void
+gda_tree_class_init (GdaTreeClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+
+	/* Properties */
+        object_class->set_property = gda_tree_set_property;
+        object_class->get_property = gda_tree_get_property;
+
+	object_class->dispose = gda_tree_dispose;
+}
+
+static void
+gda_tree_init (GdaTree *tree, GdaTreeClass *klass)
+{
+	g_return_if_fail (GDA_IS_TREE (tree));
+
+	tree->priv = g_new0 (GdaTreePrivate, 1);
+	tree->priv->managers = NULL;
+	tree->priv->root = gda_tree_node_new (NULL);
+
+	tree->priv->update_on_searching = TRUE;
+}
+
+static void
+gda_tree_dispose (GObject *object)
+{
+	GdaTree *tree = (GdaTree *) object;
+
+	g_return_if_fail (GDA_IS_TREE (tree));
+
+	if (tree->priv) {
+		if (tree->priv->managers) {
+			g_slist_foreach (tree->priv->managers, (GFunc) g_object_unref, NULL);
+			g_slist_free (tree->priv->managers);
+		}
+		if (tree->priv->root) 
+			g_object_unref (tree->priv->root);
+		g_free (tree->priv);
+		tree->priv = NULL;
+	}
+
+	/* chain to parent class */
+	parent_class->dispose (object);
+}
+
+
+/* module error */
+GQuark gda_tree_error_quark (void)
+{
+        static GQuark quark;
+        if (!quark)
+                quark = g_quark_from_static_string ("gda_tree_error");
+        return quark;
+}
+
+/**
+ * gda_tree_get_type
+ * 
+ * Registers the #GdaTree class on the GLib type system.
+ * 
+ * Returns: the GType identifying the class.
+ *
+ * Since: 4.2
+ */
+GType
+gda_tree_get_type (void)
+{
+        static GType type = 0;
+
+        if (G_UNLIKELY (type == 0)) {
+                static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+                static const GTypeInfo info = {
+                        sizeof (GdaTreeClass),
+                        (GBaseInitFunc) NULL,
+                        (GBaseFinalizeFunc) NULL,
+                        (GClassInitFunc) gda_tree_class_init,
+                        NULL,
+                        NULL,
+                        sizeof (GdaTree),
+                        0,
+                        (GInstanceInitFunc) gda_tree_init
+                };
+
+                g_static_mutex_lock (&registering);
+                if (type == 0)
+                        type = g_type_register_static (G_TYPE_OBJECT, "GdaTree", &info, 0);
+                g_static_mutex_unlock (&registering);
+        }
+        return type;
+}
+
+static void
+gda_tree_set_property (GObject *object,
+			 guint param_id,
+			 const GValue *value,
+			 GParamSpec *pspec)
+{
+	GdaTree *tree;
+
+        tree = GDA_TREE (object);
+        if (tree->priv) {
+                switch (param_id) {
+		}	
+	}
+}
+
+static void
+gda_tree_get_property (GObject *object,
+			 guint param_id,
+			 GValue *value,
+			 GParamSpec *pspec)
+{
+	GdaTree *tree;
+	
+	tree = GDA_TREE (object);
+	if (tree->priv) {
+		switch (param_id) {
+		}
+	}	
+}
+
+/**
+ * gda_tree_new
+ * 
+ * Creates a new #GdaTree object
+ *
+ * Returns: a new #GdaTree object
+ *
+ * Since: 4.2
+ */
+GdaTree*
+gda_tree_new (void)
+{
+	return (GdaTree*) g_object_new (GDA_TYPE_TREE, NULL);
+}
+
+
+/**
+ * gda_tree_add_manager
+ * @tree: a #GdaTree object
+ * @manager: a #GdaTreeManager object
+ * 
+ * Sets @manager as a top #GdaTreeManager object, which will be responsible for creating top level nodes in @tree.
+ *
+ * Since: 4.2
+ */
+void
+gda_tree_add_manager (GdaTree *tree, GdaTreeManager *manager)
+{
+	g_return_if_fail (GDA_IS_TREE (tree));
+	g_return_if_fail (GDA_IS_TREE_MANAGER (manager));
+
+	tree->priv->managers = g_slist_append (tree->priv->managers, manager);
+	g_object_ref (manager);
+}
+
+#ifdef GDA_DEBUG_NO
+static void
+dump_attr_foreach_func (const gchar *att_name, const GValue *value, gpointer data)
+{
+	g_print ("%s ==> %p\n", att_name, value);
+}
+static void
+dump_root_attributes (GdaTreeNode *root)
+{
+	g_print ("DUMPING attributes for %p\n", root);
+	gda_attributes_manager_foreach (gda_tree_node_attributes_manager, root,
+					(GdaAttributesManagerFunc) dump_attr_foreach_func, NULL);
+}
+#endif
+
+/**
+ * gda_tree_clean
+ * @tree: a #GdaTree object
+ *
+ * Removes any node in @tree
+ *
+ * Since: 4.2
+ */
+void
+gda_tree_clean (GdaTree *tree)
+{
+	GdaTreeNode *new_root;
+
+	g_return_if_fail (GDA_IS_TREE (tree));
+
+	new_root = gda_tree_node_new (NULL);
+
+	gda_attributes_manager_copy (gda_tree_node_attributes_manager, (gpointer) tree->priv->root,
+				     gda_tree_node_attributes_manager, (gpointer) new_root);
+	g_object_unref (tree->priv->root);
+	tree->priv->root = new_root;
+}
+
+/**
+ * gda_tree_update_all
+ * @tree: a #GdaTree object
+ * @error: a place to store errors, or %NULL
+ *
+ * Requests that @tree be populated with nodes. If an error occurs, then @tree's contents is left
+ * unchanged, and otherwise @tree's previous contents is completely replaced by the new one.
+ *
+ * Returns: TRUE if no error occurred.
+ *
+ * Since: 4.2
+ */
+gboolean
+gda_tree_update_all (GdaTree *tree, GError **error)
+{
+	GdaTreeNode *new_root;
+	GSList *list;
+
+	g_return_val_if_fail (GDA_IS_TREE (tree), FALSE);
+	
+	new_root = gda_tree_node_new (NULL);
+	gda_attributes_manager_copy (gda_tree_node_attributes_manager, (gpointer) tree->priv->root,
+				     gda_tree_node_attributes_manager, (gpointer) new_root);
+
+	for (list = tree->priv->managers; list; list = list->next) {
+		GdaTreeManager *manager = GDA_TREE_MANAGER (list->data);
+		gboolean has_error = FALSE;
+
+		const GSList *clist;
+		clist = _gda_tree_node_get_children_for_manager (tree->priv->root, manager);
+		gda_tree_manager_update_children (manager, new_root, clist, &has_error, error);
+		if (has_error)
+			goto onerror;
+	}
+
+	g_object_unref (tree->priv->root);
+	tree->priv->root = new_root;
+	return TRUE;
+
+ onerror:
+	g_object_unref (new_root);
+	return FALSE;
+}
+
+static gboolean create_or_update_children (GSList *mgrlist, GdaTreeNode *parent, gboolean disable_recurs, GError **error);
+
+/**
+ * gda_tree_update_part
+ * @tree: a #GdaTree object
+ * @node: a #GdaTreeNode node in @tree
+ * @error: a place to store errors, or %NULL
+ *
+ * Requests that @tree be populated with nodes, starting from @node
+ *
+ * Returns: TRUE if no error occurred.
+ *
+ * Since: 4.2
+ */
+gboolean
+gda_tree_update_part (GdaTree *tree, GdaTreeNode *node, GError **error)
+{
+	GSList *mgrlist;
+
+	g_return_val_if_fail (GDA_IS_TREE (tree), FALSE);
+	g_return_val_if_fail (GDA_IS_TREE_NODE (node), FALSE);
+	
+	mgrlist = _gda_tree_node_get_managers_for_children (node);
+
+	if (mgrlist) {
+		gboolean res;
+		res = create_or_update_children (mgrlist, node, FALSE, error);
+		g_slist_free (mgrlist);
+		return res;
+	}
+	return TRUE;
+}
+
+/**
+ * gda_tree_dump
+ * @tree: a #GdaTree
+ * @node: a #GdaTreeNode to start the dump from, or %NULL for a full dump
+ * @stream: a stream to send the dump to, or %NULL for STDOUT
+ *
+ * Dumps the contents of @tree to @stream, using a hierarchical view.
+ *
+ * Since: 4.2
+ */
+void
+gda_tree_dump (GdaTree *tree, GdaTreeNode *node, FILE *stream)
+{
+	GdaTreeNodeClass *klass;
+	GString *string;
+
+	g_return_if_fail (GDA_IS_TREE (tree));
+
+	if (!node)
+		node = tree->priv->root;
+
+	string = g_string_new (".\n");
+	klass = (GdaTreeNodeClass*) G_OBJECT_GET_CLASS (node);
+	klass->dump_children (node, "", string);
+	g_fprintf (stream ? stream : stdout, "%s", string->str);
+	g_string_free (string, TRUE);
+}
+
+static GSList *real_gda_tree_get_nodes_in_path (GdaTree *tree, GSList *segments, gboolean use_names, 
+						GdaTreeNode **out_last_node);
+static GSList *decompose_path_as_segments (const gchar *path, gboolean use_names);
+
+/**
+ * gda_tree_get_nodes
+ * @tree: a #GdaTree object
+ * @tree_path: full path to the required nodes (if @use_names is %TRUE, then it must start with '/')
+ * @use_names: if %TRUE, then @tree_path will be interpreted as a unix style path, and if %FALSE,
+ *             then @tree_path will be interpreted similarly to the #GtkTreePath's string representation.
+ *
+ * The returned list is a list of all the #GdaTreeNode nodes <emphasis>below</emphasis> the node
+ * at the specified path.
+ *
+ * As a corner case if @tree_path is %NULL, then the returned list contains all the top level nodes.
+ *
+ * Returns: a new list of #GdaTreeNode pointers, free it with g_slist_free()
+ *
+ * Since: 4.2
+ */
+GSList *
+gda_tree_get_nodes_in_path (GdaTree *tree, const gchar *tree_path, gboolean use_names)
+{
+	GSList *segments, *nodes;
+	
+	g_return_val_if_fail (GDA_IS_TREE (tree), NULL);
+
+	segments = decompose_path_as_segments (tree_path, use_names);
+	nodes = real_gda_tree_get_nodes_in_path (tree, segments, use_names, NULL);
+	if (segments) {
+		g_slist_foreach (segments, (GFunc) g_free, NULL);
+		g_slist_free (segments);
+	}
+	return nodes;
+}
+
+/*
+ * if @out_last_node is NULL, then it returns the children of the node pointed by @segments;
+ * if @out_last_node is NOT NULL, then it returns NULL and sets @out_last_node to point to the last node encountered
+ *    in @segments
+ * 
+ */
+static GSList *
+real_gda_tree_get_nodes_in_path (GdaTree *tree, GSList *segments, gboolean use_names, GdaTreeNode **out_last_node)
+{
+	/* update 1st level if necessary */
+	if (tree->priv->update_on_searching)
+		create_or_update_children (tree->priv->managers, tree->priv->root, TRUE, NULL);
+
+	if (out_last_node)
+		*out_last_node = NULL;
+
+	if (!segments) {
+		if (out_last_node)
+			return NULL;
+		else
+			return gda_tree_node_get_children (tree->priv->root);
+	}
+
+	/* get the GdatreeNode for @tree_path */
+	GSList *seglist;
+	GdaTreeNode *node;
+	GdaTreeNode *parent;
+	GSList *mgrlist;
+	for (seglist = segments, parent = tree->priv->root;
+	     seglist;
+	     seglist = seglist->next, parent = node) {
+		if (use_names)
+			node = gda_tree_node_get_child_name (parent, (gchar *) seglist->data);
+		else
+			node = gda_tree_node_get_child_index (parent, atoi ((gchar *) seglist->data));
+		if (!node && tree->priv->update_on_searching) {
+			/* update level if necessary */
+			mgrlist = _gda_tree_node_get_managers_for_children (parent);
+
+			if (mgrlist) {
+				create_or_update_children (mgrlist, parent, TRUE, NULL);
+				g_slist_free (mgrlist);
+			}
+
+			/* try again now */
+			if (use_names)
+				node = gda_tree_node_get_child_name (parent, (gchar *) seglist->data);
+			else
+				node = gda_tree_node_get_child_index (parent, atoi ((gchar *) seglist->data));
+		}
+		if (!node) 
+			return NULL;
+	}
+
+	if (tree->priv->update_on_searching) {
+		mgrlist = _gda_tree_node_get_managers_for_children (node);
+		if (mgrlist) {
+			create_or_update_children (mgrlist, node, TRUE, NULL);
+			g_slist_free (mgrlist);
+		}
+	}
+	if (out_last_node) {
+		*out_last_node = node;
+		return NULL;
+	}
+	else
+		return gda_tree_node_get_children (node);
+}
+
+
+
+
+/**
+ * gda_tree_get_node
+ * @tree: a #GdaTree object
+ * @tree_path: full path to the required nodes (if @use_names is %TRUE, then it must start with '/')
+ * @use_names: if %TRUE, then @tree_path will be interpreted as a unix style path, and if %FALSE,
+ *             then @tree_path will be interpreted similarly to the #GtkTreePath's string representation.
+ *
+ * Locates a #GdaTreeNode using the @tree_path path.
+ *
+ * Returns: the requested #GdaTreeNode pointer, or %NULL if not found
+ *
+ * Since: 4.2
+ */
+GdaTreeNode *
+gda_tree_get_node (GdaTree *tree, const gchar *tree_path, gboolean use_names)
+{
+	GSList *segments;
+	GdaTreeNode *node = NULL;
+	
+	g_return_val_if_fail (GDA_IS_TREE (tree), NULL);
+
+	segments = decompose_path_as_segments (tree_path, use_names);
+	if (!segments)
+		return NULL;
+
+	g_assert (real_gda_tree_get_nodes_in_path (tree, segments, use_names, &node) == NULL);
+
+	if (segments) {
+		g_slist_foreach (segments, (GFunc) g_free, NULL);
+		g_slist_free (segments);
+	}
+
+	return node;
+}
+
+static gboolean
+create_or_update_children (GSList *mgrlist, GdaTreeNode *parent, gboolean disable_recurs, GError **error)
+{
+	GSList *list;
+	for (list = mgrlist; list; list = list->next) {
+		GdaTreeManager *manager = GDA_TREE_MANAGER (list->data);
+		gboolean recurs = FALSE;
+		if (disable_recurs) {
+			g_object_get (G_OBJECT (manager), "recursive", &recurs, NULL);
+			if (recurs)
+				g_object_set (G_OBJECT (manager), "recursive", FALSE, NULL);
+		}
+		
+		gboolean has_error = FALSE;
+		gda_tree_manager_update_children (manager, parent, 
+						  _gda_tree_node_get_children_for_manager (parent, 
+											   manager), 
+						  &has_error, error);
+		if (has_error)
+			return FALSE;
+		if (disable_recurs && recurs)
+			g_object_set (G_OBJECT (manager), "recursive", TRUE, NULL);
+	}
+	return TRUE;
+}
+
+static GSList *split_absolute_path (const gchar *path, gboolean *out_error);
+static GSList *split_indexed_path (const gchar *path, gboolean *out_error);
+
+/*
+ * Returns: a new list of allocated strings (one for each segment of @path), or %NULL
+ */
+static GSList *
+decompose_path_as_segments (const gchar *path, gboolean use_names)
+{
+	GSList *segments;
+	gboolean path_error;
+	if (use_names) {
+		if (*path != '/') {
+			g_warning (_("Path format error: %s"), path);
+			return NULL;
+		}
+		segments = split_absolute_path (path, &path_error);
+	}
+	else 
+		segments = split_indexed_path (path, &path_error);
+	if (path_error) {
+		g_warning (_("Path format error: %s"), path);
+		return NULL;
+	}
+	return segments;
+}
+
+
+/*
+ * Splits @path into a list of path segments, avoiding empty ("") segments
+ * @path is expected to be a unix style path
+ * FIXME: check for errors
+ * Returns: a new list of allocated strings (one for each segment of @path)
+ */
+static GSList *
+split_absolute_path (const gchar *path, gboolean *out_error)
+{
+	GSList *list = NULL;
+	gchar *copy;
+	gchar *start, *end;
+
+	*out_error = FALSE;
+	copy = g_strdup (path);
+	start = copy;
+	for (;;) {
+		for (end = start; *end; end++) {
+			if (*end == '/')
+				break;
+		}
+		if (*end == '/') {
+			*end = 0;
+			if (start != end)
+				list = g_slist_prepend (list, g_strdup (start));
+			start = end + 1;
+		}
+		else {
+			if (start != end)
+				list = g_slist_prepend (list, g_strdup (start));
+			break;
+		}
+	}
+	g_free (copy);
+
+	list = g_slist_reverse (list);
+
+#ifdef GDA_DEBUG_NO
+	GSList *l;
+	for (l = list; l; l = l->next)
+		g_print ("Part: #%s#\n", (gchar*) l->data);
+#endif
+
+	return list;
+}
+
+/*
+ * Splits @path into a list of path segments, avoiding empty ("") segments
+ * @path is expected to be a GtkTreePath's string representation path (ex: "3:2")
+ * Returns: a new list of allocated strings (one for each segment of @path)
+ */
+static GSList *
+split_indexed_path (const gchar *path, gboolean *out_error)
+{
+	GSList *list = NULL;
+	gchar *copy;
+	gchar *start, *end;
+
+	*out_error = FALSE;
+	copy = g_strdup (path);
+	start = copy;
+	for (;;) {
+		for (end = start; *end; end++) {
+			if ((*end < '0') || (*end > '9')) {
+				/* error */
+				*out_error = TRUE;
+				g_slist_foreach (list, (GFunc) g_free, NULL);
+				g_slist_free (list);
+				g_free (copy);
+				return NULL;
+			}
+			if (*end == ':')
+				break;
+		}
+		if (*end == ':') {
+			*end = 0;
+			if (start != end)
+				list = g_slist_prepend (list, g_strdup (start));
+			start = end + 1;
+		}
+		else {
+			if (start != end)
+				list = g_slist_prepend (list, g_strdup (start));
+			break;
+		}
+	}
+	g_free (copy);
+
+	list = g_slist_reverse (list);
+
+#ifdef GDA_DEBUG_NO
+	GSList *l;
+	for (l = list; l; l = l->next)
+		g_print ("Part: #%s#\n", (gchar*) l->data);
+#endif
+
+	return list;
+}
+
+/**
+ * gda_tree_set_attribute
+ * @tree: a #GdaTree object
+ * @attribute: attribute name
+ * @value: a #GValue, or %NULL
+ * @destroy: a function to be called when @attribute is not needed anymore, or %NULL
+ *
+ * Sets an attribute to @tree, which will be accessible to any node in it.
+ *
+ * Since: 4.2
+ */
+void
+gda_tree_set_attribute (GdaTree *tree, const gchar *attribute, const GValue *value,
+			GDestroyNotify destroy)
+{
+	g_return_if_fail (GDA_IS_TREE (tree));
+	gda_tree_node_set_node_attribute (tree->priv->root, attribute, value, destroy);
+}

Added: trunk/libgda/gda-tree.h
==============================================================================
--- (empty file)
+++ trunk/libgda/gda-tree.h	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,79 @@
+/* GDA library
+ * Copyright (C) 2009 The GNOME Foundation.
+ *
+ * AUTHORS:
+ *      Vivien Malerba <malerba gnome-db org>
+ *
+ * This Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this Library; see the file COPYING.LIB.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GDA_TREE_H__
+#define __GDA_TREE_H__
+
+#include <glib-object.h>
+#include <stdio.h>
+#include "gda-decl.h"
+
+G_BEGIN_DECLS
+
+#define GDA_TYPE_TREE            (gda_tree_get_type())
+#define GDA_TREE(obj)            (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_TREE, GdaTree))
+#define GDA_TREE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_TREE, GdaTreeClass))
+#define GDA_IS_TREE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE(obj, GDA_TYPE_TREE))
+#define GDA_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GDA_TYPE_TREE))
+
+/* error reporting */
+extern GQuark gda_tree_error_quark (void);
+#define GDA_TREE_ERROR gda_tree_error_quark ()
+
+typedef enum {
+	GDA_TREE_UNKNOWN_ERROR
+} GdaTreeError;
+
+struct _GdaTree {
+	GObject           object;
+	GdaTreePrivate   *priv;
+};
+
+struct _GdaTreeClass {
+	GObjectClass      object_class;
+
+	/* Padding for future expansion */
+	void (*_gda_reserved1) (void);
+	void (*_gda_reserved2) (void);
+	void (*_gda_reserved3) (void);
+	void (*_gda_reserved4) (void);
+};
+
+GType              gda_tree_get_type      (void) G_GNUC_CONST;
+GdaTree*           gda_tree_new           (void);
+void               gda_tree_add_manager   (GdaTree *tree, GdaTreeManager *manager);
+
+void               gda_tree_clean         (GdaTree *tree);
+gboolean           gda_tree_update_all    (GdaTree *tree, GError **error);
+gboolean           gda_tree_update_part   (GdaTree *tree, GdaTreeNode *node, GError **error);
+
+GSList            *gda_tree_get_nodes_in_path (GdaTree *tree, const gchar *tree_path, gboolean use_names);
+GdaTreeNode       *gda_tree_get_node      (GdaTree *tree, const gchar *tree_path, gboolean use_names);
+
+void               gda_tree_set_attribute (GdaTree *tree, const gchar *attribute, const GValue *value,
+					   GDestroyNotify destroy);
+
+void               gda_tree_dump          (GdaTree *tree, GdaTreeNode *node, FILE *stream);
+
+G_END_DECLS
+
+#endif

Modified: trunk/libgda/libgda.h.in
==============================================================================
--- trunk/libgda/libgda.h.in	(original)
+++ trunk/libgda/libgda.h.in	Tue Mar 17 21:29:28 2009
@@ -71,6 +71,15 @@
 #include <libgda/gda-holder.h>
 #include <libgda/gda-set.h>
 
+#include <libgda/gda-tree.h> 
+#include <libgda/gda-tree-manager.h> 
+#include <libgda/gda-tree-mgr-columns.h> 
+#include <libgda/gda-tree-mgr-label.h> 
+#include <libgda/gda-tree-mgr-schemas.h> 
+#include <libgda/gda-tree-mgr-select.h> 
+#include <libgda/gda-tree-mgr-tables.h> 
+#include <libgda/gda-tree-node.h>
+
 #include <libgda/gda-meta-store.h>
 
 #include <libgda/gda-mutex.h>

Modified: trunk/libgda/libgda.symbols
==============================================================================
--- trunk/libgda/libgda.symbols	(original)
+++ trunk/libgda/libgda.symbols	Tue Mar 17 21:29:28 2009
@@ -721,6 +721,46 @@
 	gda_transaction_status_get_type
 	gda_transaction_status_new
 	gda_transaction_status_state_get_type
+	gda_tree_add_manager
+	gda_tree_clean
+	gda_tree_dump
+	gda_tree_error_get_type
+	gda_tree_error_quark
+	gda_tree_get_node
+	gda_tree_get_nodes_in_path
+	gda_tree_get_type
+	gda_tree_manager_add_manager
+	gda_tree_manager_error_get_type
+	gda_tree_manager_error_quark
+	gda_tree_manager_get_node_create_func
+	gda_tree_manager_get_type
+	gda_tree_manager_set_node_create_func
+	gda_tree_manager_update_children
+	gda_tree_mgr_columns_get_type
+	gda_tree_mgr_columns_new
+	gda_tree_mgr_label_get_type
+	gda_tree_mgr_label_new
+	gda_tree_mgr_schemas_get_type
+	gda_tree_mgr_schemas_new
+	gda_tree_mgr_select_get_type
+	gda_tree_mgr_select_new
+	gda_tree_mgr_tables_get_type
+	gda_tree_mgr_tables_new
+	gda_tree_new
+	gda_tree_node_attributes_manager
+	gda_tree_node_error_get_type
+	gda_tree_node_error_quark
+	gda_tree_node_fetch_attribute
+	gda_tree_node_get_child_index
+	gda_tree_node_get_child_name
+	gda_tree_node_get_children
+	gda_tree_node_get_node_attribute
+	gda_tree_node_get_type
+	gda_tree_node_new
+	gda_tree_node_set_node_attribute
+	gda_tree_set_attribute
+	gda_tree_update_all
+	gda_tree_update_part
 	gda_update_row_in_table
 	gda_update_row_in_table_v
 	gda_ushort_get_type

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Tue Mar 17 21:29:28 2009
@@ -25,6 +25,12 @@
 libgda/gda-server-provider-extra.c
 libgda/gda-set.c
 libgda/gda-statement.c
+libgda/gda-tree-mgr-columns.c
+libgda/gda-tree-mgr-label.c
+libgda/gda-tree-mgr-schemas.c
+libgda/gda-tree-mgr-select.c
+libgda/gda-tree-mgr-tables.c
+libgda/gda-tree.c
 libgda/gda-util.c
 libgda/gda-value.c
 libgda/gda-xa-transaction.c

Modified: trunk/samples/Makefile
==============================================================================
--- trunk/samples/Makefile	(original)
+++ trunk/samples/Makefile	Tue Mar 17 21:29:28 2009
@@ -1,5 +1,5 @@
 SHELL= /bin/sh 
-SUBDIRS = BDB DDL DirDataModel F-Spot Report SimpleExample SqlParserConsole TableCopy Virtual XSLT MetaStore
+SUBDIRS = BDB DDL DirDataModel F-Spot Report SimpleExample SqlParserConsole TableCopy Virtual XSLT MetaStore Tree
 all:
 	for dir in ${SUBDIRS} ; do ( cd $$dir ; ${MAKE} ) ; done
 clean:

Modified: trunk/samples/README
==============================================================================
--- trunk/samples/README	(original)
+++ trunk/samples/README	Tue Mar 17 21:29:28 2009
@@ -17,5 +17,6 @@
 * in DDL/: example using the GdaServerOperation object to perform a CREATE TABLE query
 * in SqlParserConsole/: simple console to test how the GdaSqlParser object parses strings
 * in MetaStore/: simple example to show how to use and update a GdaMetaStore
+* in Tree/: simple example to show how to use the GdaTree object
 
 Good luck and happy hacking!

Added: trunk/samples/Tree/Makefile
==============================================================================
--- (empty file)
+++ trunk/samples/Tree/Makefile	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,12 @@
+CFLAGS = -Wall -g -DGDA_DISABLE_DEPRECATED `pkg-config --cflags libgda-4.0`
+LDFLAGS = `pkg-config --libs libgda-4.0`
+
+all: example
+
+example: example.c
+	$(CC) -o example example.c $(CFLAGS) $(LDFLAGS)
+
+clean:
+	rm -f *~
+	rm -f *.o
+	rm -f example

Added: trunk/samples/Tree/README
==============================================================================
--- (empty file)
+++ trunk/samples/Tree/README	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,58 @@
+Libgda simple example
+=====================
+
+Description:
+------------
+
+The example in this directory illustrate how to use a GdaTree to display the database structure
+in a hierarchical way:
+* a top level node is created for each schema in the database (here there is only the "main" schema)
+* below each schema nodes are created for each table in the schema
+* a top level node is created for each table visible by default (here all the tables)
+* below each node representing a table, nodes are created for each colum in the table.
+This organization is illustrated in the GdaTree introduction in the documentation.
+
+Compiling and running:
+----------------------
+
+To compile (make sure Libgda is installed prior to this):
+> make
+
+and to run:
+> ./example
+
+Output:
+-------
+Running should produce the following output:
+
+Updating meta store...done
+.
+|-- main
+|   |-- categories
+|   |   |-- categoryname
+|   |   `-- id
+|   |-- customers
+|   |   |-- city
+|   |   |-- country
+|   |   |-- default_served_by
+|   |   |-- name
+|   |   `-- id
+|   |-- locations
+|   |   |-- shortcut
+|   |   |-- city
+|   |   `-- country
+[...]
+|-- categories
+|   |-- categoryname
+|   `-- id
+|-- customers
+|   |-- city
+|   |-- country
+|   |-- default_served_by
+|   |-- name
+|   `-- id
+|-- locations
+|   |-- shortcut
+|   |-- city
+|   `-- country
+[...]
\ No newline at end of file

Added: trunk/samples/Tree/example.c
==============================================================================
--- (empty file)
+++ trunk/samples/Tree/example.c	Tue Mar 17 21:29:28 2009
@@ -0,0 +1,51 @@
+#include <libgda/libgda.h>
+
+int
+main (int argc, char *argv[])
+{
+	GdaConnection *cnc;
+
+	GdaTree *tree;
+        GdaTreeManager *schemas_mgr, *tables_mgr, *columns_mgr;
+        GError *error = NULL;
+
+        gda_init ();
+
+        cnc = gda_connection_open_from_dsn ("SalesTest", NULL, GDA_CONNECTION_OPTIONS_NONE, NULL);
+        g_assert (cnc);
+        g_print ("Updating meta store...");
+        GdaMetaContext context = {"_tables", 0};
+        gda_connection_update_meta_store (cnc, &context, NULL);
+        g_print ("done.\n");
+
+        tree = gda_tree_new ();
+
+	/* create tree managers */
+        schemas_mgr = gda_tree_mgr_schemas_new (cnc);
+        tables_mgr = gda_tree_mgr_tables_new (cnc, NULL);
+        columns_mgr = gda_tree_mgr_columns_new (cnc, NULL, NULL);
+
+	/* set up the tree managers in the tree */
+        gda_tree_add_manager (tree, schemas_mgr);
+        gda_tree_add_manager (tree, tables_mgr);
+
+        gda_tree_manager_add_manager (schemas_mgr, tables_mgr);
+        gda_tree_manager_add_manager (tables_mgr, columns_mgr);
+
+	/* we don't need object references anymore */
+        g_object_unref (schemas_mgr);
+        g_object_unref (tables_mgr);
+        g_object_unref (columns_mgr);
+
+	/* populate the tree and display its contents */
+        if (!gda_tree_update_all (tree, &error))
+                g_print ("Can't populate tree: %s\n", error && error->message ? error->message : "No detail");
+        else
+                gda_tree_dump (tree, NULL, NULL);
+
+        g_object_unref (tree);
+        gda_connection_close (cnc);
+        g_object_unref (cnc);
+
+        return 0;
+}

Modified: trunk/tools/Makefile.am
==============================================================================
--- trunk/tools/Makefile.am	(original)
+++ trunk/tools/Makefile.am	Tue Mar 17 21:29:28 2009
@@ -1,9 +1,9 @@
 SUBDIRS = binreloc
 
 bin_PROGRAMS = \
-	gda-list-config-4.0 \
-	gda-sql-4.0 \
-	gda-list-server-op-4.0
+	gda-list-config-4.1 \
+	gda-sql-4.1 \
+	gda-list-server-op-4.1
 
 noinst_PROGRAMS = information-schema-doc
 
@@ -16,14 +16,14 @@
 	$(LIBGDA_CFLAGS) \
 	-DROOT_DIR=\""$(top_srcdir)"\"
 
-gda_list_config_4_0_SOURCES = \
+gda_list_config_4_1_SOURCES = \
         gda-list-config.c
 
-gda_list_config_4_0_LDADD = \
+gda_list_config_4_1_LDADD = \
         $(top_builddir)/libgda/libgda-4.0.la \
         $(LIBGDA_LIBS)
 
-gda_sql_4_0_SOURCES = \
+gda_sql_4_1_SOURCES = \
         gda-sql.c \
 	gda-sql.h \
 	gda-threader.h \
@@ -36,7 +36,7 @@
 	$(top_srcdir)/libgda/md5.h \
 	$(top_srcdir)/libgda/md5c.c
 
-gda_sql_4_0_LDADD = \
+gda_sql_4_1_LDADD = \
         $(top_builddir)/libgda/libgda-4.0.la \
 	binreloc/libgdasql_binreloc-4.0.la \
         $(LIBGDA_LIBS) \
@@ -44,17 +44,17 @@
         $(HISTORY_LIB)
 
 if LIBSOUP
-gda_sql_4_0_SOURCES += web-server.h web-server.c html-doc.h html-doc.c
+gda_sql_4_1_SOURCES += web-server.h web-server.c html-doc.h html-doc.c
 AM_CPPFLAGS += $(LIBSOUP_CFLAGS)
-gda_sql_4_0_LDADD += $(LIBSOUP_LIBS)
+gda_sql_4_1_LDADD += $(LIBSOUP_LIBS)
 endif
 
 
 
 # setenv() is in libiberty in mingw
 if PLATFORM_WIN32
-gda_sql_4_0_LDADD += -liberty
-gda_sql_4_0_SOURCES += gda-sql-res.rc
+gda_sql_4_1_LDADD += -liberty
+gda_sql_4_1_SOURCES += gda-sql-res.rc
 endif
 
 .rc.o:
@@ -63,10 +63,10 @@
 gda-sql-res.o: gda-sql-res.rc
 	$(WINDRES) $^ -o $@
 
-gda_list_server_op_4_0_SOURCES = \
+gda_list_server_op_4_1_SOURCES = \
         gda-list-server-op.c
 
-gda_list_server_op_4_0_LDADD = \
+gda_list_server_op_4_1_LDADD = \
         $(top_builddir)/libgda/libgda-4.0.la \
         $(LIBGDA_LIBS)
 
@@ -78,7 +78,7 @@
         $(top_builddir)/libgda/libgda-4.0.la \
         $(LIBGDA_LIBS)
 
-webdatadir = $(datadir)/libgda-4.0/web
+webdatadir = $(datadir)/libgda-4.1/web
 webdata_DATA = \
 	cnc.js \
 	md5.js \
@@ -94,7 +94,7 @@
 	$(webdata_DATA)
 
 mans = \
-	gda-sql-4.0.1
+	gda-sql-4.1.1
 
 man_MANS = \
 	$(mans)
@@ -131,12 +131,12 @@
 if DEFAULT_BINARY
 	cd $(DESTDIR)$(bindir) \
 	&& rm -f gda-list-config$(EXEEXT) gda-sql$(EXEEXT) gda-list-server-op$(EXEEXT) \
-	&& $(LN_S) gda-list-config-4.0$(EXEEXT) gda-list-config$(EXEEXT) \
-	&& $(LN_S) gda-sql-4.0$(EXEEXT) gda-sql$(EXEEXT) \
-	&& $(LN_S) gda-list-server-op-4.0$(EXEEXT) gda-list-server-op$(EXEEXT)
+	&& $(LN_S) gda-list-config-4.1$(EXEEXT) gda-list-config$(EXEEXT) \
+	&& $(LN_S) gda-sql-4.1$(EXEEXT) gda-sql$(EXEEXT) \
+	&& $(LN_S) gda-list-server-op-4.1$(EXEEXT) gda-list-server-op$(EXEEXT)
 endif
 
 uninstall-local:
 if DEFAULT_BINARY
 	rm -f $(DESTDIR)$(bindir)/gda-list-config$(EXEEXT) $(DESTDIR)$(bindir)/gda-sql$(EXEEXT) $(DESTDIR)$(bindir)/gda-list-server-op$(EXEEXT)
-endif
\ No newline at end of file
+endif



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