Released 3.99.3 2008-07-05 Vivien Malerba * doc/C: doc. updates * providers/firebird: added forgotten files * po/POTFILES.in: added missing files * NEWS: news for version 2008-07-05 Vivien Malerba * 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 * 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 * libgda/gda-meta-struct.c: * providers/postgres/gda-postgres-ddl.c: minor corrections 2008-06-19 Vivien Malerba * 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 * 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 * 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 * 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 * 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 * libgda/sql-parser/Makefile.am: Added rules to generate gda-sql-parser-enum-types.[ch], fixes bug #536418 2008-06-03 Vivien Malerba * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 [[:]@] where and 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 * 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 * 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 * 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 * libgda/gda-set.c: use a GHashTable to find individual GdaHolder objects by their ID for better performances 2008-04-09 Vivien Malerba * tools/command-exec.c: removed bogus include * tools/information-schema-doc.c: fixed warnings 2008-04-09 Vivien Malerba * 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 * 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 * 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 * configure.in: * providers/Makefile.am: * providers/mysql/*: merged Carlos Savoretti's preliminary MySQL provider's rework 2008-04-06 Murray Cumming * 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 * 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 * 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 * 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 * libgda/gda-set.c: fixed a double free problem, for bug #525601 2008-04-02 Vivien Malerba * 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 * 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 * configure.in: set to version 3.99.3