Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: Release of TclRAL version 0.10.0

7 views
Skip to first unread message

mango

unread,
Jun 13, 2011, 11:20:37 PM6/13/11
to
I am pleased to announce the availability of Version 0.10.0 of TclRAL.

TclRAL is a "C" based extension to Tcl that adds two new data types, Tuple and
Relation, to Tcl's native data types and adds a set of commands that are a
complete relational algebra on the new types. TclRal also adds relation
variables with the ability to specify and enforce identifying, referential and
procedural integrity constraints.

Relational data structures provide a powerful way to encode the semantics of
applications in a regular and consistent manner that can be manipulated via
commands that is independent of the heading of the relation. Applications
containing more complicated data structures can often benefit from placing
their data into relational form rather than the arrays, nested lists or
dictionaries that are characteristic of more ad hoc approaches to data design.
The commands that operate on relations do so in a "set at a time" fashion and
dramatically reduce the amount of iterative code that needs to be written.

Revision 0.10.1 adds the following:

1. The ability to define procedural constraints on relation variables.
Previously, declarative integrity constrains were supported and these handle
the vast majority of circumstances. However, there are cases when integrity is
best handle by procedure execution that is invoked at the end of a transaction.
This differs from the relation variable tracing this is invoked on a
tuple-by-tuple basis.

2. Sets of relation variables can now be serialized to and deserialized from a
SQLite database. The serialization is performed so that each relation variable
is its own SQLite table and the foreign key constraints that correspond to
TclRAL referential constraints are defined to SQLite (to that extent that SQL
can match TclRAL constraint capability). The required and recommended indices
are also specified to SQLite.

3. New commands that implement union sematics on insert (i.e. ignoring
duplicates) and insert semantics on a union (i.e. insisting the union be
disjoint) have been added. These have always been able to be accomplished via
procedures, but now there are first class commands to accomplish this.

There have also been the usual bug fixes and clean up.

The project is hosted at Sourceforge and the TEA compliant source package is
available via CVS from there. There are also precompiled binaries for Linux,
Windows and MacOSX-ix86. The binary distribution is in the form of zip package
files suitable for installation using the ActiveState "teacup" or simply
unzipping in a directory along your package path.

The utility package "ralutil" has also been revised to 0.10.0 to match its
companion revision numbering.

http://sourceforge.net/projects/tclral

Andrew Mangogna

0 new messages