ACEDB - in the Medium Term

Introduction

These changes are mostly larger coding efforts that might take some months (years ?) to complete.

A new command line interface

Many of the commands available to acedb users via tace etc. have grown up in a slightly ad hoc. way. ACEDB release 5 will present an opportunity to revise the structure of the command interface. In particular there will be sets of command options for:

acelib

The interface to the acedb database is a bit adhoc and requires a programmer to know serveral different 'subsystems' of calls to open the database and read/write information to it. The idea behind acelib is to provide a more consistent database interface to make applications easier to write and provide more power to the applications (e.g. having more than one database open at a time).

The production of acelib will require:

Cleaning up the name space, including:
Removal of statics/globals and introduction of 'context'
currently much acedb code uses a crude 'object' model whereby a package holds instance data in static variables (both local and global). While in one sense this provides 'objects' it has a number of drawbacks: A better approach is to get the application to create a 'database' context which it passes as a parameter to each call for operation on the database (see X Windows, X Toolkit etc). This way the database code does not need to hold any 'context' information for a particular database.
POSIX conforming
the library should use POSIX conforming system calls to make porting it to other platforms as easy as possible. This will become increasingly important as POSIX compliance becomes more complete.

aql

A beta test version is available in ACeDB 4_8.

Ace perl

Need some information from Lincoln.