Github

Download version 1.4.8: Windows or Linux

Persistency Library: Eiffel CHAIN Orientated Binary Database

Implements "in-memory" database tables based on an interface defined by the kernel Eiffel class CHAIN. There are two table types:

  1. Monolithic tables which can only be saved to disk as a whole and any new items which have not been saved will be lost.
  2. Transactional tables where the effects of the table item operations: extend, replace or delete, are immediately committed to disk in an editions table file. When the editions file gets too large, the editions are consolidated into the main table file.

Monolithic tables are implemented by class: EL_STORABLE_CHAIN which takes a generic paramter of type EL_STORABLE.

This class defines the basic database CRUD concept of Create, Read, Update and Delete:

Create: is implemented by the {EL_STORABLE_CHAIN}.extend procedure.

Read: is implemented by the {EL_STORABLE_CHAIN}.item function.

Update: is implemented by the {EL_STORABLE_CHAIN}.replace procedure.

Delete: is implemented by the {EL_STORABLE}.delete procedure.

Transactional tables are implemented using the EL_RECOVERABLE_STORABLE_CHAIN class which inherits EL_STORABLE_CHAIN. It is called 'recoverable' because if the power suddenly goes off on your PC, the table is fully recoverable from the editions file.

ENCRYPTION

AES encryption is supported for both monolithic and transactional tables.

RELATIONAL CAPABILITIES

Some experimental relational capabilities have been added in a private project but these classes have not yet found their way into Eiffel-Loop.

EXAMPLES For an example of EL_STORABLE_CHAIN see class EL_TRANSLATION_ITEMS_LIST found in the i18n.ecf localization library. Unfortunately the only examples for EL_RECOVERABLE_STORABLE_CHAIN are in a closed commercial project, but the usage is pretty similar.

ECF: chain-db.ecf

Directory: library/persistency/database/chain-db

[ . ]

. /encryptable

[ . ]

EL_MULTI_TYPE_FILE_READER_WRITER

Object that can store types conforming to type G

EL_RECOVERABLE_STORABLE_CHAIN

Chain of storable items which are recoverable from an editions files should the power go off on the computer. Items must implement the deferred class EL_STORABLE.

EL_STORABLE_CHAIN

Chain of storable items which can be saved to and read from a file. Items must implement the deferred class EL_STORABLE.

Further Information

Click on class link to see client examples.

EL_CHAIN_EDITIONS_FILE

EL_FILE_READER_WRITER

Click on class link to see client examples.

EL_STORABLE_CHAIN_EDITIONS

encryptable

EL_ENCRYPTABLE_CHAIN_EDITIONS_FILE

EL_ENCRYPTABLE_FILE_READER_WRITER

EL_ENCRYPTABLE_MULTI_TYPE_FILE_READER_WRITER