[Apologies for multiple receptions] Hello. This is a mail just for informing that the new release
Datalog Educational System version 2.3 http://des.sourceforge.net has been launched on May, 24th, 2011, and ported to GNU Prolog 1.3.1 There have been several improvements in this release, and the major feature is a SQL declarative debugger. Users can debug SQL views from a declarative debugging point-of-view. The system interactively asks questions to the user about relations involved in the computation of the debugged view. In addition, trusted specifications add semantic references are allowed to cut the number of questions down. Another useful feature is the new built-in predicate distinct/1 for discarding duplicates from a multiset answer when duplicates are enabled. In turn, this allows to support DISTINCT and ALL clauses in SQL statements. Moreover, although not directly related to that built-in, Datalog aggregate function and predicates involving distinct computations are provided: count_distinct, avg_distinct, sum_distinct, and times_distinct. As well, SQL statements can use the DISTINCT clause in aggregates. Finally, a first step towards SQL syntax error reporting has been done: undefined tables, views and columns in a SQL statement are reported, and similar existing entries are suggested as alternatives. A complete list of enhancements, changes and fixed bugs is attached to the end of this message. Please, see http://des.sourceforge.net for details. Best regards. ============================================================== Fernando Saenz Perez 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. Ingenieria del Software e Inteligencia Artificial / Department of Software Engineering and Artificial Intelligence Universidad Complutense de Madrid Facultad de Informatica C/Profesor Jose Garcia Santesmases, s/n E - 28040 Madrid. Spain ============================================================== Version 2.3 of DES (released on May, 24th, 2011) * Enhancements: o SQL declarative debugger: Users can debug SQL views from a declarative debugging point-of-view. The system interactively asks questions to the user about relations involved in the computation of the debugged view. Trusted specifications add semantic references in order to cut the number of questions down o Added the Datalog tabled metapredicate distinct/1, which computes distinct outcomes for its argument, discarding duplicates. It takes effect when duplicates are enabled via the command /duplicates on o New Datalog functions and predicates for discarding duplicates along aggregation: - Aggregate functions: count_distinct/1, count_distinct/2, avg_distinct/2, sum_distinct/2, and times_distinct/2 - Aggregate predicates: count_distinct/2, count_distinct/3, avg_distinct/3, sum_distinct/3, and times_distinct/3 o Working DISTINCT and ALL keywords in SQL SELECT and UNION statements as of SQL2 standard o Working DISTINCT and ALL keywords in SQL aggregate functions as of SQL2 standard o Display of SQL statements compilations to Datalog, selectable with the new command /show_compilations o Output from shell commands in windows applications are logged o Compact listings can be enabled so that blank lines in the console output are removed o New commands: - /debug_sql View [Options] Debug a SQL view, optionally specifying whether trusting tables or not, selecting a trust file and selecting a traverse order - /show_compilations Display whether compilations from SQL DQL statements to Datalog rules are to be displayed - /show_compilations Switch Enable or disable display of extended information about compilation of SQL DQL statements to Datalog clauses (on or off, resp.) - /compact_listings Display whether compact listings are enabled - /compact_listings Switch Enable or disable compact listings (on or off, resp.) - /nospy SPred[/Arity] Removes the spy point on the given predicate in the host Prolog interpreter (implementor's command) - /debug Set debug mode in the host Prolog interpreter (implementor's command) o Saving the deductive database to a file also includes constraints (type, primary key, functional dependency, foreign key, and user-defined). Restoring a database from file also recovers these constraints o Added option force to command /save_ddb, which avoids asking the user should the file exists already o Added help on output without argument o Datalog predicate symbols and alphanumeric constants containing extended characters do not longer need to be enclosed between quotes o SQL correlated queries are also allowed in comparison operators o Escaped single quotes allowed in SQL strings o SQL syntax error reporting for unknown tables, views and columns. Similar table and view names are provided for the user to choose o Some run-time errors regarding incorrect use of built-ins (e.g., aggregates) are detected earlier during compilation o Improved clpfd library for Ciao port, which allows to support type checking (thanks to Rémy Haemmerlé) o New port to SWI-Prolog 5.10.4 * Changes: o SQL natural joins keep the order of columns in the projection list, as usual in RDBMS implementations * Fixed bugs: o Queries involving equality between nulls at the system prompt were incorrect. Bug introduced in version 2.1 o When requesting help on a keyword which is both a command and a built-in (e.g., log), only help on command was displayed o Some synomys in the help were not displayed o Type error raised when creating SQL views involving TIMES aggregate function o Single quotes inside quoted atoms were allowed o Predicate/Arity specifications in commands did not apply for arities greater than 9 o Removing the compilation of nested applications of outer joins in SQL left some unremoved rules (when submitting SQL queries and droping views) o Some safety warnings during compilation of some aggregate predicates were raised, even avoiding to solve some safe queries o After executing an INSERT, DELETE and UPDATE involving other (nested) SQL statements, the extension table was not cleared (so, an answer entry might occur in the table after finishing the modification statement) o Some incorrect SQL statements involving unexistent columns were not rejected _______________________________________________ Users-prolog mailing list [email protected] https://lists.gnu.org/mailman/listinfo/users-prolog
