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.
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.
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.
Connections are now opened using gda_connection_open_from_dsn () or gda_connection_open_from_string () depending on how the connection is defined
Upon opening a connection, the username
and password
arguments have been replaced by a more flexible arguments passing mechanism where providers can specify
what authorization parameters they use
gda_server_provider_get_last_insert_id() has been removed in favor of the "last_insert_row" argument of the gda_connection_statement_execute () and gda_connection_statement_execute_non_select () methods. If that argument is not NULL, then if the statement is an INSERT statement, the argument will contain a list of values, one for each column of the modified table.
The GdaServerProviderInfo structure has been removed as it was useless, and the gda_server_provider_get_info() has been replaced by a gda_server_provider_get_name () method to access the provider's name.
gda_data_model_get_value_at () now has an extra GError argument to return an error if getting the value has failed
gda_data_model_get_column_index_by_name() has been replaced by gda_data_model_get_column_index()
gda_data_model_get_value_at_col_name() has been replaced by gda_data_model_get_value_at_column()
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)