Implementation of GDA Providers

The purpose of the gda-server library is to hide all the CORBA stuff from the provider's programmer and avoid duplication of work which leads to a code much more easy to debug. That lib stands at the same level as the gda-client lib from the CORBA point of view.

The gda-server library imposes a framework on the way the provider needs to be implemented, but allows for specific customization.

Objects in the library

All the objects here are the mirror objects from the gda-client library from the server side of the libgda CORBA framework. These objects are:

How a query is processed

When a client makes a query, what happens in the server side is:

Actual DBMS customization work

All the steps described above are imposed by the libgda framework. The work of writing a provider for a specific DBMS is in writing the specific parts of the operations described above.

As the C library for a DBMS uses some specific structures (to handle connection references, etc, it is possible to attach some information to the gda-server library objects. So usually the provider's programmer defines the following structures (here replace DBMS for the actual DBMS name like for example MYSQL or POSTGRES):