TDBC Driver Development

This is one of the GSoC 2009 Projects.


[from http://socghop.appspot.com/student_project/show/google/gsoc2009/tcltk/t124025109884]

Student Name
SÅ‚awomir Cygan
Mentor Name
Kevin Kenny
Title
TDBC Driver Development

Abstract

I'm going to improve the TDBC driver code to make it more versatile by:
    • Implementing new drivers and adapters to existing interfaces
    • Embedding other connectivity projects under TDBC and using it as a slave below others.

Aims of project

  • PostgreSQL driver. This will be completely new driver, but very similar to existing MySQL one. It will be utilising libpq library and will be coded 99% in pure C.
  • Oracle driver. As some people expressed they need for such a driver, it was also included in my schedule. This caused some activites to be marked as "secondary", and leaved only in case of resignation from Oracle driver.
  • Secondary activities - they wre planned to provide a concept of running TDBC over existing database connectivity interface - nsdbi.

Timeline and progress

DateMilestone completedStatus
27.06Research on TDBC and existing TDBC driversDone
31.06Research on PostgreSQL libpq interface Done
05.07Postgres driver: connection to the driver Done
08.07Postgres driver: prepared statements Done
11.07Postgres driver: retrieving results from the statements Done
17.07Postgres driver: tests, increasing functionality (isolation and others) Done
20.07Postgres driver: finished, documented Done
23.07Oracle driver: getting in touch Done
04.08Oracle driver: partial functionality working Done
11.08Oracle driver or Secondary activities: Finished and Documented Done
18.08Documentation, finishing unfinished Done

Project related code and resources

  • As of 1.0b13 release of TDBC the PostgreSQL driver is included. Please visit TDBC page for further instructions on downloading and installation.
  • Oracle driver is still under development. It's currently unfinished, unreliable, but partially usable. The current drawback is lack of documentation and lack of some minor functionality, like types, setting isolation levels etc... If you are interrested in running the driver anyway, the TDBC code including this driver is already avaliable here (it's a Fossil repository). You shouldn't need anything special to compile this driver: just installed Oracle client (at least) and ORACLE_HOME environment variable set appropriately.

Discussion and comments

RLH I will be very excited to watch the Oracle development happen.