Michael Lausch

Rodrigo Moya

Vivien Malerba

Sean Allen

GDP compliance, FDL, added mark-up, English and syntax

Xabier Rodriguez Calvar

How to begin and migration formulae

Jose Dapena Paz

Some examples

Bas Driessen

libgda, gda-postgres, gda-mysql

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found in the appendix.

Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps.

Abstract

GNOME Data Access (GDA) is an architecture whose purpose is to provide universal access to many different kinds and types of data sources. This goes from traditional relational database systems, to any imaginable kind of data source such as a mail server, a LDAP directory...

This universality is obtained through the use of an easily extensible plug-in system as the mechanism for communication between the different components in the architecture.


Table of Contents

I. Getting started
Introduction
libgda architecture
Installation
Introduction
Installing
Debian installation
Compiling with the library
Configuring
Configuration for development
Configuration for accessing a database
Provider's specific information
Examples
Initialising
Connecting
Executing queries
Building commands
Making non queries
Making normal queries
Managing data models
Example using direct cell access
Example using row access
Freeing data models
Managing values
Managing transactions
Managing errors
Full example
Migration from older versions
Compiling and initialising
Configuration and connections
Creating data sources
Creating connections
Executing commands
Creating commands
Executing non queries
Executing normal queries
Managing data
Something important about data models
Accessing directly to columns
Managing errors
Managing transactions
II. Client API Reference
Object Hierarchy
Initialization and configuration
Libgda initialization - Library initialization
Configuration - Access/Management of libgda configuration
Connections & commands
GdaClient - Database client access
GdaConnection - Management of connections to data sources
GdaConnectionEvent - Any event which has occured on a GdaConnection
Commands - Issuing commands to the provider
Data handling
GdaValue - Single value stored in a GdaDataModel
GdaParameter - Represents a GdaValue 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 -
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
Dictionary and related objects
GdaDict - GDA dictionary
GdaDictType - Represents a data type in the DBMS
GdaDictFunction - Represents a function in the DBMS.
GdaDictAggregate - Represents an aggregate in the DBMS (like COUNT() or AVG() for example)
GdaDictDatabase - Represents a database structure in the DBMS server
GdaDictTable - Represents a table or a view in the database
GdaDictField - Represents a field in a table or a view in the database
GdaDictConstraint - Represents a constraint within a database
Data manipulation (DML) queries
GdaQuery - Represents any kind of DML query
GdaQueryTarget - Represents a target entity within a query.
GdaQueryJoin - Represents a join between two different entities
GdaQueryFieldAll - Represents all the fields of an entity (through a GdaQueryTarget object)
GdaQueryFieldField - Represents one field of an entity (through a GdaQueryTarget object)
GdaQueryFieldFunc - Represents a function (selected by a GdaDictFunction object)
GdaQueryFieldAgg -
GdaQueryFieldValue - Represents a single value (or a parameter)
GdaQueryCondition - Represents a condition within a query
Miscellaneous
Utility functions -
Logging - Log functions
Quark lists - Quark lists (lists of KEY=VALUE's)
GdaTransaction - Management of transactions
BLOBs - Management of BLOBs (Binary Large OBjects)
GdaObject - The base class for many of the library's objects
GdaObjectRef - Used to reference other objects
GdaGraphviz - Creates .dot files which can then be processed with GraphViz.
GdaDataModelRow - Base implementation for other objects to implement the GdaDataModel interface based on the usage of
GdaQueryField - Parent class for any query's field
GdaQueryObject - Parent class for any object participating in a GdaQuery query
GdaThreader -
Graphs
GdaGraph - Data model to keep graphs' layout
GdaGraphQuery -
GdaGraphItem - Parts of data model used with the GdaGraph object.
List of lesser used interfaces
GdaEntity - Interface to represent a generic entity (for tables, views or queries)
GdaEntityField - Interface to represent a generic field (for tables's fields, etc).
GdaXmlStorage - Interface which provides saving and loading using XML structures
GdaRenderer - Interface to get representations of objects as SQL statements, XML nodes or human readable text
GdaReferer - Interface to know when on object is completely defined
III. GDA Tools
Introduction
gda-list-config
gda-diagnose
gda-author-dict-file
gda-inspect-dict-file
IV. Databases access providers
Introduction
Virtual methods for providers
open_connection
close_connection
get_database
change_database
get_specs
perform_action_params
create_database_cnc
drop_database_cnc
execute_command
begin_transaction
commit_transaction
rollback_transaction
supports
get_schema
Virtual methods for recordsets
GdaServerProvider - Base class for implementing new providers
V. GDA Report Engine
Introduction
API reference
gda-report-types -
GdaReportDocument - Management of libgda's report format
GdaReportItem -
GdaReportItemDetail -
GdaReportItemLabel -
GdaReportItemPageFooter -
GdaReportItemPageHeader -
GdaReportItemRepField -
GdaReportItemReport -
GdaReportItemReportFooter -
GdaReportItemReportHeader -
GdaReportItemSqlQuery -
GdaReportResult -
GdaReportValid -
A. GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
Addendum
Index