Rel version 3.006 now available!

This is a minor maintenance release of Rel, an implementation of Date & Darwen’s Tutorial D database language. It makes some improvements to the Rel user interface, now provides a selection of built-in operators that previously had to be loaded from a script, and fixes various minor bugs.

IMPORTANT NOTE: Once opened with this or later versions of Rel, databases cannot be read by earlier versions.

The following enhancements have been made:

– In the Rel DBMS, all operators previously found in the UsefulOperatorsAndViews.rel script are now built-in, and the sys.OperatorsBuiltin relvar provides documentation of built-in relvars via the Definition attribute. In the Rel UI, this can be displayed by double-clicking on an Operator, or by pressing the associated Play button.

– The Rel DBMS’s storage engine has been updated to Oracle Berkeley DB JE version 7.3.7

– The Rel DBMS now supports external Rel DBMS relvars. This requires that a standalone Rel DBMS be running on the specified host.
VAR myvar EXTERNAL RELVAR “host,username,password,relvarname”;
VAR myvar EXTERNAL RELVAR “host,user,pass,vname,1234”; // port is 1234

– The Rel DBMS now provides built-in QUOTE(CHAR) RETURNS CHAR and UNQUOTE(CHAR) RETURNS CHAR operators to quote/unquote delimiters and special characters.

The following bugs have been fixed:

Rel DBMS: External relvar column name cleanup erroneously turned ‘g’ and ‘i’ to ‘_’. Fixed.

Rel DBMS: Extraneous spaces are no longer inserted into EXTERNAL ACCDB and EXTERNAL JDBC relvar definitions.

Rel DBMS: The UPDATE operator (not statement) allowed duplicate tuples to be emitted. Fixed.

Rel DBMS: The IN operator sometimes returned an incorrect result if the tuple operand had a different attribute order from the relation operand. Fixed.

Rel UI: In Rev, single quotes in a RESTRICT, EXTEND, SUMMARIZE or UPDATE expression caused the expression not to be saved. Fixed.

For more information or to download Rel, go to

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.