Rel version 3.007 now available!

This is a minor release of Rel, an implementation of Date & Darwen’s Tutorial D database language. It adds EQUIV and RANK operators, slightly tweaks the Tutorial D grammar implementation to reduce the need for parentheses, provides infix invocation for certain operators, and fixes some bugs.

The following enhancements have been made to the Rel implementation of Tutorial D:

– Infix syntax for EXTEND, SUMMARIZE and UPDATE expressions is now available. The prefix syntax has been retained, but these are now allowed:

S EXTEND {SS := STATUS}
S EXTEND: {SS := STATUS}
S SUMMARIZE BY {CITY} {SS := SUM(STATUS)}
S SUMMARIZE BY {CITY}: {SS := SUM(STATUS)}
S UPDATE {STATUS := 2}
S UPDATE: {STATUS := 2}

– Dyadic and monadic relational operators now have equal precedence, except WHERE (lower precedence) and projection (higher precedence). This means operators may often be “chained” naturally without requiring parentheses. E.g., S RENAME {CITY AS PLACE} WRAP {PLACE, STATUS} AS T is allowed, where previously (S RENAME {CITY AS PLACE}) WRAP {PLACE, STATUS} AS T would have been required. This should not affect existing code.

– RANK has been implemented, per Date & Darwen’s “Data Types and the Relational Model”. Both prefix and infix syntax are available:

RANK S BY (ASC STATUS AS Ranking)
S RANK BY (ASC STATUS AS Ranking)
S RANK (ASC STATUS AS Ranking)

– EQUIV has been implemented, per Date & Darwen’s “Database Explorations”.

The following bugs have been fixed:

– Case #139 – #142: In the Rel UI, a fatal error was sometimes inappropriately generated when a query was cancelled in the command-line view. This has been fixed.

– Case #153: Errors in built-in or user-defined Java-based operators now generate an error message rather than causing a fatal error.

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.