libgda r3359 - in trunk: . doc/C doc/C/tmpl libgda po samples samples/Tree tools
- From: vivien svn gnome org
- To: svn-commits-list gnome org
- Subject: libgda r3359 - in trunk: . doc/C doc/C/tmpl libgda po samples samples/Tree tools
- Date: Tue, 17 Mar 2009 21:29:29 +0000 (UTC)
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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (G_TYPE_OBJECT, "GdaTreeManager", &info, G_TYPE_FLAG_ABSTRACT);
+ g_static_mutex_unlock (®istering);
+ }
+ 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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrColumns", &info, 0);
+ g_static_mutex_unlock (®istering);
+ }
+ 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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrLabel", &info, 0);
+ g_static_mutex_unlock (®istering);
+ }
+ 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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrSchemas", &info, 0);
+ g_static_mutex_unlock (®istering);
+ }
+ 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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrSelect", &info, 0);
+ g_static_mutex_unlock (®istering);
+ }
+ 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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (GDA_TYPE_TREE_MANAGER, "GdaTreeMgrTables", &info, 0);
+ g_static_mutex_unlock (®istering);
+ }
+ 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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (G_TYPE_OBJECT, "GdaTreeNode", &info, 0);
+ g_static_mutex_unlock (®istering);
+ }
+ 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 (®istering);
+ if (type == 0)
+ type = g_type_register_static (G_TYPE_OBJECT, "GdaTree", &info, 0);
+ g_static_mutex_unlock (®istering);
+ }
+ 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]