This version of Rel -- an implementation of Date & Darwen's "Tutorial
D" database language -- is a significant release, as it implements the
latest Tutorial D syntax from Date and Darwen's book "Database
Explorations: Essays on The Third Manifesto and related topics" (ISBN
978-1426937231)
Prior to installing this version of Rel, you must make a backup of
your database(s). Then, install this update and load and attempt to
execute your backup script(s). If your script successfully loads,
you're done. If Rel complains of syntax errors, you'll need to edit
the backup script — based on the "Rel Version 1.0.10+ Syntax" article
at http://dbappbuilder.sourceforge.net — until the script successfully
loads.
Changes in this update:
- Fix: Rel: Revised execution order of statements in multiple
assignment to prevent counterintuitive behaviour. Assignments now
execute from first to last.
- Fix: Rel: Passing a non-boolean to the WHERE clause of an UPDATE
would result in a crash. Fixed.
- Enhancement: Rel: Added partial support for anonymous operators.
This is a work-in-progress documented at
http://dbappbuilder.sourceforge.net/docs/AnonymousAndFirstClassOperatorsInTutorialD.pdf
- Enhancement: Rel: Updated to version 5.0.58 of Berkeley Java DB,
which is used as the storage engine.
- Enhancement: Rel: Various changes to support Tutorial D syntax from
Database Explorations:
EXTEND:
old: EXTEND r ADD (p AS q, a AS b)
new: EXTEND r : {q := p, b := a}
UPDATE:
old: UPDATE r (p := q, b := a)
new: UPDATE r : {p := q, b := a}
RENAME:
old: r RENAME (a AS b)
new: r RENAME {a AS b}
SUMMARIZE:
old: SUMMARIZE p ADD (SUM(x) AS y)
new: SUMMARIZE p : {y := SUM(x))
WITH:
old: WITH a AS b, x AS y : ...
new: WITH (b := a, y := x) : ...
WRAP:
old: r WRAP ({a, b} AS c, {d, e} AS f)
new (r WRAP ({a, b} AS c)) WRAP ({d, e} AS f)
UNWRAP:
old: r UNWRAP (a, b)
new: (r UNWRAP (a)) UNWRAP (b)
GROUP:
old: r GROUP ({a, b} AS c, {d, e} AS f)
new (r GROUP ({a, b} AS c)) GROUP ({d, e} AS f)
UNGROUP:
old: r UNGROUP (a, b)
new: (r UNGROUP (a)) UNGROUP (b)
Removed ANY and ALL synonyms for OR and AND.
Implemented n-adic COMPOSE.
Implemented XUNION, TIMES, I_MINUS, I_DELETE,
D_INSERT and updated INSERT to silently
ignore duplicate tuples.
- Fix: Rel tests: revised TestDelete0 and TestRelvar26 to eliminate
order-dependent testing.
- Enhancement: Rel: POSSREP keyword ORDERED now recognised in
addition to ORDINAL, but is a no-op.
- Enhancement: Rel: Improved shutdown procedure is less likely to
result in a corrupt database if there are problems encountered
during shutdown.
- Enhancement: Scripts: DatabaseToScript.d, Views.d changed to
accommodate support for Database Explorations syntax.
- Enhancement: DBrowser: Splash screen disappears as soon as Ok
appears.
- Enhancement: DBrowser: Error messages that specify line and column
now cause the cursor to move to the position of the error in the
source.
For more information, or to download Rel, see
http://dbappbuilder.sourceforge.net/Rel.html