Michael Lausch

Rodrigo Moya

Vivien Malerba

Sean Allen

Xabier Rodríguez Calvar

José Dapena Paz

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.

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 called GNU Free Documentation License.

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.

Table of Contents
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
Beginning
Initialising
Connecting
Processing queries
Executing sentences
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
Transactions and batch processes
Managing transactions
Managing errors
Full example
Some formulae for migration from old version
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
Managing errors
Managing transactions
libgda API Reference
libgda -- Library initialization
GdaBatch -- Batch command execution
GdaClient -- Database client access
gda-command -- Functions that deal with GdaCommand.
gda-config -- Access/Management of libgda configuration
GdaConnection -- Management of connections to data sources
GdaDataModelArray -- Array model class
GdaDataModelHash -- An implementation of GdaDataModel based on a hash table.
GdaDataModelList -- List model class
GdaDataModel -- Basic data model class
GdaError -- Functions for managing errors
GdaExport -- Exporting of databases
gda-field -- Management of database fields
gda-log -- Log functions
gda-parameter -- Functions to manage parameters
gda-quark-list -- Quark lists (lists of KEY=VALUE's)
gda-row -- Functions for accesing GdaRow.
GdaSelect -- 
GdaTable -- An in-memory representation of a database table
GdaTransaction -- 
gda-util -- Utility functions
gda-value -- 
GdaXmlConnection -- 
GdaXmlDatabase -- XML database representation (used for import/export and in the default provider)
GdaXmlDocument -- Base class for XML document management
GDA Providers
Introduction
The GdaServerProvider class
open_connection
close_connection
get_database
change_database
create_database
drop_database
execute_command
begin_transaction
commit_transaction
rollback_transaction
supports
get_schema
The recordset class
GdaServerProvider -- Base class for implementing new providers
XML Queries
GdaXqlAtom -- 
GdaXqlBin -- 
GdaXqlColumn -- 
GdaXqlConst -- 
GdaXqlDelete -- 
GdaXqlDml -- 
GdaXqlDual -- 
GdaXqlField -- 
GdaXqlFunc -- 
GdaXqlInsert -- 
GdaXqlItem -- 
GdaXqlJoin -- 
GdaXqlList -- 
GdaXqlQuery -- 
GdaXqlSelect -- 
GdaXqlStack -- 
GdaXqlTarget -- 
GdaXqlUpdate -- 
gda-xql-utils -- 
GdaXqlValue -- 
GdaXqlValueRef -- 
GDA Report Engine
gda-report-types -- 
GdaReportDocument -- Management of libgda's report format
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