| Newsgroups |
gmane.comp.gnu.prolog.general |
| Message-ID |
<[email protected]> |
[Apologies for multiple receptions]
Hello.
This is a mail just for informing that the new release
Datalog Educational System version 1.6.2
http://des.sourceforge.net
has been launched on March, 10th, 2009 and ported to
GNU Prolog 1.3.1
Release notes are attached to the end of this message.
Please, see http://des.sourceforge.net for details.
Best regards.
==============================================================
Fernando Sáenz Pérez
Profesor Titular de Universidad / Associate Professor
Home Page: http://www.fdi.ucm.es/profesor/fernan
Tel: + 34 913947642. Fax: + 34 913947547
Despacho / Office: 435 (4ª planta / 4th floor)
Dept. Ingeniería del Software e Inteligencia Artificial /
Department of Software Engineering and Artificial Intelligence
Universidad Complutense de Madrid
Facultad de Informática
C/Profesor José García Santesmases, s/n
E - 28040 Madrid. Spain
==============================================================
Version 1.6.2 of DES adds to previous version (1.6.1):
Enhancements:
o Null values has been included both for Datalog programs and SQL statements
o Novel outer join Datalog functions: lj/3, rj/3, and fj/3
o Outer join SQL clauses added: LEFT [OUTER] JOIN, RIGHT [OUTER] JOIN, and FULL [OUTER] JOIN
o Solving algorithm enhanced for stratified queries. Partial recomputations of lower-stratum predicates are avoided
o Compilation of SQL WHERE conditions to Datalog rules now provides shorter and more efficient programs
o Disjunctions in Datalog rule bodies
o New commands:
- /development Switch Enables/Disables development listings. These listings show the source-to-source translations needed to handle null values, Datalog outer join built-ins, and disjunctive literals
- /development Displays whether development listings are enabled
- /simplification Switch Enables/Disables simplification of Datalog rules. Rules with equalities, true, and not(BooleanValue) are simplified
- /simplification Displays whether rule simplification is enabled
o WHERE conditions accept arithmetic expressions (e.g., 1+t.a>3)
o Display of the number of undefined computed tuples, and the number of tuples in the extension table answer and call sets
o Parentheses in Datalog rule bodies, not only in arithmetic expressions, are allowed
o Parentheresed listings of Datalog rule bodies, making more readable bodies with conjunctions and disjunctions
o Simplification of rules containing equalities
Changes:
o Rule listings are grouped by predicate name and arity. For a given predicate name and arity, facts come first, followed by rules with right hand sides. The order of facts and rules follows Prolog standard order between terms
o Datalog rules resulting from translating views change the naming convention to (the more readable) ViewName_Arity_Number in lieu of ViewName$pNumber
o Results from Datalog autoviews are given the relation name answer instead of autoview
o Pretty-print is applied to all Datalog rule listings
o Safety warnings are not hidden by computability warnings
Fixed bugs:
o Unformatted SQL statement display for certain conditions and joins
o Parsing error for EXISTS clause (no blanks between EXISTS and opening parenthesis were allowed)
o SQL arithmetic functions could only be written in lowercase
o Some WHERE conditions incorrectly translated into Datalog conditions (bug introduced in version 1.6.1)
o Some WHERE conditions involving parentheses incorrectly parsed
o Correlated SQL queries with non-basic conditions were incorrectly translated into Datalog rules
o DELETE SQL statements failed to be parsed (copy-paste bug introduced in version 1.6.1)
o Some unsafe Datalog queries were not rejected for computation (as X=Y)
o During startup batch processing of des.ini, some tasks upon exceptions were not performed
o Typing des. in a Prolog interpreter after abnormally quitting the system did not result in exception catching anymore
o A class of unsafe rules was not be able to be preprocessed for reordering body goals, yielding non-termination
o Incomplete error message
Known bugs:
o The projection list of a natural outer join is not correct in all cases
Caveat:
o Computable SQL statements follow the grammar in the manual. The current grammar parses extra clauses which cannot be computed yet (e.g., GROUP BY, ORDER BY, ...)