Implementação do sistema de banco de dados

Nessa seção estão algumas recomendações de como lidar com problemas específicos de cada sistema de banco de dados.

Manuseamento de tipos de dados

libgda tem alguns tipos de dados definidos, cobrindo todos os tipos de dados comuns (strings, números, datas, binários, etc). Entretando, porque cada sistema de banco de dados tem tipos específicos de dados (como, por exemplo, array, endereços IP), e as vezes é possivel criar tipos de dados personalizados, libgda não pode ter conhecimento de todos tipos de dados.

Então, para os tipos mais comuns onde um tipo de dado libgda existe, este será usado, e de maneira contrária, o tipo Gda_TypeUnknown será usado (o uso correto destes dados fica por conta do programador da aplicação).

Solicitações de Esquemas

Sob a libgda, a aplicação cliente não tem como saber a qual sistema de banco de dados ela está conectada, mas ela pode saber se tal sistema suporta certos recursos e quais são as tabelas, índices, etc, contidas no banco de dados.

Uma das tarefas que mais consomem tempo é escrever funções que retornem respostas a todos essas solicitações do cliente.

Funções a implementar

O trabalho básico a ser feito é implementar um conjunto de funções necessários para que a biblioteca gda-server manipule o provedor. Quanto um provedor quer iniciar, ele tem que dar ponteiros a estas funções em uma estrutura (veja o arquivo main-DBMS.c para isso).

O outro conjunto de funções a implementar são relacionados com solicitações de esquemas. Entre as funções que você DEVE implementar está um função para solicitar esquemas. Esta função pode ser implementada da maneira que você quiser, mas uma prática comum (usado em todos provedores 'padrões' da libgda) é fazer com que esta função, chame outras funções dependendo do tipo de esquema solicitado pela aplicação cliente.