Libgda values were stored in GdaValue
structures, this is no longer the case
as the standard GValue
container is now used. As a consequence data types are now
identified by their GType
identifier, there is thus no more any
GdaType
definition.
The GdaDataModel
has been transformed into an interface (as defined by the Glib
object system), and the old GdaDataModel
has been replaced by the
GdaDataModelRow
class. No code using the GdaDataModel
should
assume that data is internally stored as rows (vectors) of values as it was the case in the previous
stable release.
In the new version, many objects implement the
GdaDataModel
interface for various usages which did not exist in the previous version
such as data import and filtering. GdaDataModel
objects should now be considered
as non writable, and if they need to be modified, the modifications permissions should be checked
using the gda_data_model_get_attributes_at()
function. See the
section about the various data models for more information.
The following UML schema shows the various implementations of the GdaDataModel
interface and what they are for. Note that the
GdaDataModelRow
should not be instantiated directly but either
used as a base class, or used through its children classes.