This package contains a simple OODBMS
(Object-Oriented DataBase Management System).
The list of files:
README.DOC This file
INTFACE.DOC Database interface description
DBDEMO.EXE Executable demo
OODB.PAS Source code of the database management system
DBDEMO.PAS Source code of a simple demo program
LAYOUT.PAS Auxilliary routines for the demo
OODB.TPU Compiled OODB unit
LAYOUT.TPU Compiled LAYOUT.PAS
OODBMS is intended to be incorporated into TurboVision applications.
It maintains a storage of arbitrary objects. The only requirements
imposed on objects are that they must be TObject heirs and
their Store and Load methods must be registered (by means of
standard RegisterType procedure).
OODBMS supports transactions. One can "commit" or "abort" database at
any moment. Abort returns database to its state just before the last
All objects deleted since then are recalled and all objects put to the
database vanish. Any failure that could have occured during the
transaction (i.e., group of database operations starting with Commit
and ending with Abort or Commit) is annulled and database is
rollbacked to its consistent state. When user believes that
transaction has been successfully completed he should make all
changes permanent by executing Commit.
OODBMS performs (at least, tries to perform) intelligent garbage
It contains IdlePack method that should be invoked each time after
TApplication.Idle routine is called by the user's application.
IdlePack fights fragmentation and gets rid of "holes" in the database.
Packing is performed "step by step" and can be interrupted at any
Generally, database is being packed while user isn't working with
application and the process of defragmentation can hardly be noticed
"from the outside".
OODBMS was developed in March - April '92 at the M.V.Keldysh Institute
for Applied Mathematics, Moscow, Russia, and at Moscow State University
as my student junior year thesis. It is distributed as a freeware.
Though it has been debugged and tested, I can't guarantee that the
code is bug-free. Everybody is not only allowed but also encouraged
to correct bugs, make modifications, distribute this program, etc.
There are no limitations whatsoever on the use of this program.
In case of commercial use no financial reimbursement is expected
either by me or by the Institute for Applied Mathematics.
There are also other versions of OODBMS with memory caching and
Paradox-based indices respectively. Information about them is
available upon request (see address below).
I would appreciate if the bugs were reported to me by e-mail
(see address below). I would also be very glad if I were contacted
by somebody who dealt with these problems and has any proposal for
the upgrade of database or just wants to "talk about".
Until September '92 I can be accessed at
Dept. of Cognitive and Linguistic Sciences
Providence, RI 02912
Since October '92 I'll be at the University of Washington, Seattle, WA.
July 14, 1992