links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Last updated at 5:07 pm UTC on 22 June 2008
FlexDB comprises a plugin for accessing DBs with support for native threads and an API for adapting DB vendor drivers.
See SqueakSource for a snapshot of the development in progress.

Module: Smalltalk API classes

The Smalltalk API offers the classic classes:

Module: FlexDBPlugin, written in Slang

The plugin handles native threads, loads/unloads mini-drivers and forwards primitive calls to the mini-driver by using the mini-driver API.

Module: mini-driver, dynamic loadable libraries

A mini-drivers adapts its vendor specific DB driver to the mini-driver API. Therefore the FlexDBPlugin does not know anything about the vendor specific DB driver's internals.

Interplay of mini-driver and Smalltalk API

Once a new mini-driver has been created and compiled into a dynamic loadable library, the Smalltalk side can be extended (by subclassing) for accessing the functionality of the associated vendor specific DB driver. There is no need for changing the FlexDBPlugin and the new mini-driver can be loaded on demand.

Passing properties and parameters

Accessing DB data and types

DB data type coercion

Handling of BLOBs

FlexDB actions are performed asynchronously

Whenever possible and supported by the vendor specific DB driver.

Example DBs and tests

DB Minidriver API (draft)