Duro a relational database library

Duro is a relational open-source database library written in C http://duro.sourceforge.net/ . It is based on the principles laid down in the book Foundation for Future Database Systems: The Third Manifesto by C. J. Date and Hugh Darwen.

The goal of the Duro project is to create a library which is as compliant with the proposed database language D as it is possible for a C library. This library is supposed to serve as a basis for a truly relational database management system (TRDBMS).

Duro is published under the terms of the GNU General Public License.

The current release of Duro is 0.12, released 2012-10-31. Some features:

  • Tuples and tables (relvars).
  • Relational algebra: RENAME, select (restrict), project, EXTEND, JOIN, UNION, INTERSECT, MINUS, SUMMARIZE PER, DIVIDEBY PER, WRAP, UNWRAP, GROUP, and UNGROUP.
  • Virtual tables (views).
  • Locking and nested transactions.
  • Duro tables are true sets -- uniqueness of tuples (rows) is always enforced. When creating real tables, at least one candidate key must be supplied. A candidate key may be empty.
  • User-defined types (including type constraints) and operators.
  • Tcl interface, including support for relational expressions in Tutorial D syntax and operators implemented in Tcl ("stored procedures").
  • Simple GUI admin tool.

escargo 1 Aug 2005 - This is just begging for confusion between the D programming Language[L1 ], viewed by its creators as a reengineering of C and C++, and this other proposed database language D[L2 ]. There are only so many letters of the alphabet, and there are probably programming languages for each of them. (I seem to remember a couple based on alternative pronunciations: Eh and Zed, both originating out of Canada, as I recall.)

Also see TclRAL.