TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Mime-Version: 1.0
Sender: "Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
From: gilbert prine <[log in to unmask]>
Date: Sat, 20 Feb 1999 22:26:09 -0500
Content-Type: text/plain; charset="us-ascii"
Reply-To: gilbert prine <[log in to unmask]>
Parts/Attachments: text/plain (29 lines)
>Is there a Ada-specific method to add persistant data capabilities
>to an application?

A direct_io package can be instantiated for any object type statement.
Object instances can then be stored in a file_type of the resulting
direct_io package.  The combination of the file name and index (record
number) of the stored object provides a unique object ID for direct access
of these persistant data objects.

I use this approach with external index/pointer files (with their own
direct_io packages) as a data cube/network data model for an in-house data
mining engine.  One interesting Ada-specific feature is that an Ascii file
with fixed length fields and records (e.g. data that might be loaded into a
relational data base table) from legacy data is a ready made direct_io file
if a two character CR_LF field is added to the direct_io data definition.

For what it is worth, this approach provides a blazingly fast specialized
database manager that, with an application specific index/pointer
architecture and data navigation, works at file processing speeds rather
than relational database speeds.  Also, a data architecture using protected
types at run-time can provide Ada-specific multi-user capabilities.

Ada is an amazingly useful language for persistant data/database
development, but it seems that very few people make use of it.  With very
few additional features, Ada 200X could provide an effective built-in
database engine and persistant data capability.

Gil Prine