| GNOME Data Access 3.0 manual |
|---|
- Gda Value — Single value stored in a GdaDataModel
- Blobs — Blobs handling
- GdaParameter — Represents a GValue with various attributes
- GdaParameterList — Manages a list of GdaParameter objects which contain individual values
- GdaDataModel — Basic data model class
- GdaDataModel columns — Management of GdaDataModel column attributes
- GdaDataModelIter
- GdaDataModelImport — Importing data from a string or a file
- GdaDataAccessWrapper — Offers a random access on top of a cursor-only access data model
- GdaDataModelArray — An implementation of GdaDataModel based on an array
- GdaDataModelHash — An implementation of GdaDataModel based on a hash table
- GdaDataModelQuery — An implementation of GdaDataModel based on a SELECT query
- GdaDataModelFilterSQL — Filtering data from one or several GdaDataModel objects
- GdaDataProxy — Proxy to hold modifications for any GdaDataModel, and provides the GdaDataModel interface itself
- GdaDataModelIndex — Management of GdaDataModel indexes
- GdaDataModel column indexes — Management of GdaDataModel column index attributes
libgda being a data oriented library, data handling is a central point of the library. Data handling is about:
individual values: they are encapsulated within a GValue container (which is not much more than a GValue from GLIB)
-
parameters which are each a specification for a value: a type, a name, a description, a default value, etc. Parameters are encapsulated within a GdaParameter container.
Note that it is possible to set a hint on parameters to make them have a value which is among the values contained in a column of a GdaDataModel.
-
lists of parameters which are encapsulated within a GdaParameterList container.
The GdaParameterList object also makes some computations to group parameters which are constrained by values in the same GdaDataModel to make it easy to use parameters which are not really independant.
-
arrays of values organized in rows and columns. All the data in the same column have the same type, and all the data in each row have the same semantic meaning. libgda uses the GdaDataModel objects to actually hold the data (note that this is actually an interface which has sevaral implementations depending on the real data organization in the data model).
Note that depending on the real implementation, access to the data can be random or done using an iterator, and that the data model can be read-only or modifiable.
The GdaDataModelIter object is used to iterate through the rows of a GdaDataModel.
The following UML diagram shows the various implementations of the GdaDataModel interface and their usage:

