Implementation Actual de DBMS

En esta sección se dan algunas recomendaciones sobre cómo manejar algunos objetos específicos de cada DBMS.

Manejor de Tipos de Datos

libgda tiene definidos algunos tipos de datos, que cubren todos los tipos normales de datos ( cadenas de caracteres, números, fechas, binarios, etc.). De todas maneras, porque cada DBMS tiene algunos tipos de datos específicos ( como por ejemplo vectores, direcciones IP), y esposible algunas veces crear algunos tipos de datos definidos por el usuario, perono todos estos tipos de datos puede ser predefinidos por libgda.

Pero la mayor parte de los tipos de datos existen ya en libgda, y se utilizarán, de todas maneras, el GdaTypeUnknown se usará ( para todos aquellos programadores de aplicaciones que usen libgda para cuidar esta información).

Solicitud de Esquemas

Bajo libgda, la aplicación cliente no puede saber el DBMS al que se conecta, pero si puede saber si el DBMS soporta algunas funcionalidades y qué tablas, secuencias, índices, etc. están en la base de datos.

Uno de los trabajos que llevan más tiempo es escribir las funciones que devuelven las respuestas a todas las solicitudes de los clientes.

Funciones a implementar

El trabajo básico a hacer es implementar un conjunto de funciones necesarias para la biblioteca gda-server para manipular el proveedor. Cuando un proveedor quiere arrancar, tienen que dar punteros a estas funciones en una estructura (para esto lea el fichero main-DBMS.c).

El otro conjunto de funciones a implementar son las funciones de solicitud de esquemas. Las funciones que DEBE implementar es una función que solicite esquemas. La función puede ser implementada de la manera que usted quiera, pero una práctica común (utilizada en todos los proveedores 'estandar' de libgda), es tener una función que llama a otras funciones dependiendo del tipo de esquema solicitado por la aplicación cliente.