Other changes

Multi threading environment

Previous versions of Libgda only supported being used in a single thread at a time; this new version still keeps this limitation except for objects which implement the GdaLockable interface which can be used from any thread at the same time: the GdaConnection and GdaSqlParser objects implement that interface.

Configuration management

  • Data sources and installed providers are now handled using the GdaConfig object, with the particularity that there can only be one such object instantiated per program.

  • The GDA_DSN_LIST_IN_MEMORY environment variable which , if set, prevented Libgda from writing the list of defined data sources to a file has been removed. To obtain the same result, one must force the creation of the unique GdaConfig object with the user-file property set to NULL.

Database provider's changes

  • BLOB handling in the PostgreSQL provider has changed and is now similar to JDBC and ODBC: the provider does not handle orphaned BLOBs (which is a problem specific to PostgreSQL). See the section about PostgreSQL's limitations for more information.

API changes

List of removed objects and interfaces

  • GdaClient

  • GdaRenderer, GdaXmlStorage, GdaEntity, GdaEntityField and GdaReferer interfaces

  • GdaDict, GdaDictType, GdaDictDatabase, GdaDictTable, GdaDictAggregate, GdaDictField, GdaDictConstraint and GdaDictFunction dictionary related objects

  • GdaQuery, GdaQueryObject, GdaQueryFieldAgg, GdaQueryFieldAll, GdaQueryCondition, GdaQueryJoin, GdaQueryFieldField, GdaQueryTarget, GdaQueryFieldFunc, GdaQueryFieldValue and GdaQueryField query related objects

  • GdaCommand

  • GdaParameterList (replaced by GdaSet), GdaParameter (replaced by GdaHolder)

  • GdaObject, GdaObjectRef

  • GdaDataModelFilterSQL

  • GdaGraph, GdaGraphItem, GdaGraphQuery

  • GdaGraphviz

  • GdaDataModelQuery (features redundant with the GdaDataSelect object)

List of removed functions

  • gda_delimiter_*()

  • gda_sql_transaction_parse*()

  • sql_*() (from the libsql library)

  • gda_server_provider_change_database()

  • gda_value_compare_ext()

  • gda_data_access_wrapper_row_exists()