[Apologies for multiple receptions]
Hello. This is a mail just for informing that the new release Datalog Educational System version 2.7 http://des.sourceforge.net has been launched on January, 3rd, 2012, and ported to GNU Prolog 1.4.0 The most relevant enhancement in current release is the addition of an extended relational algebra processor. It includes all the original operators but division, and extended operators for dealing with outer joins, duplicate elimination, recursion, and grouping with aggregates. Syntax follows WinRDBI [Diet01], so that in particular all of its examples run straight on DES. Another useful improvement is a new switchable multi-line mode, allowing entering inputs which span over several lines. This applies to both the command prompt and the processing of batch files, and it is enabled with the command /multiline on. Supported SQL language has been extended a bit with new clauses for DDL statements, as well as for metadata information. Parsing of Datalog and SQL files and inputs has been enhanced: it now runs faster and appropriately handles operators. Column and relation renamings in SQL statements have been revisited and several issues have been solved. 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.7 of DES (released on January, 3rd, 2012) * Enhancements: o Extended relational algebra processor including all the original operators but division, and extended operators for dealing with outer joins, duplicate elimination, recursion, and grouping with aggregates o Multi-line input is also allowed in addition to the current single-line input. Long inputs as typical SQL statements can be spanned over several lines. When multi-line is enabled with the command /multiline on, Datalog inputs must end with a dot (.), and SQL and RA inputs with a semicolon (;). When disabled, each line is considered as a single (Datalog, SQL or RA) input and ending characters are optional o When multi-line input is enabled, remarks enclosed between /* and */ can span over several lines and can be nested as well o Single-line (--) and multi-line (/**/) remarks can be included in SQL statements at any place a separating blank can occur o SQL statement CREATE TABLE can include LIKE for creating a table with the same schema as an existing one o SQL statement DROP TABLE can include IF EXISTS clause and can apply to a list of tables o New (non-standard) SQL metadata statements (catalogued under ISL, Information Schema Language): + SHOW TABLES; List table names. TAPI enabled + SHOW VIEWS; List view names. TAPI enabled + SHOW DATABASES; List database names. TAPI enabled + DESCRIBE Relation; Display schema for Relation, as /dbschema command does. TAPI enabled o New commands: + /list_tables List table names. TAPI enabled + /list_views List view names. TAPI enabled + /multiline Display whether multi-line input is enabled + /multiline Switch Enable or disable multi-line input (on or off resp.) + /ra Switch to RA interpreter + /ra Query Execute an RA query + /referenced_relations Name Display relations directly referenced by a foreign key in Name + /referenced_relations Name/Arity Display relations directly referenced by a foreign key in Name/Arity o Last line in a processed file must not end with a carriage return for its processing o Faster abolish command and drop database SQL statement o Display of the number of consulted constraints, if any o Exceptions during constraint checking when consulting files are caught o Faster parsing of Datalog rules and SQL statements o A pivot variable that does not occur in the aggregate relation raises a syntax error o Views are not required to be created with given column names o Submitting a query or creating a view with duplicated columns is rejected o Language command error messages instead of just "Input processing error" o Improved compilation of EXISTS SQL clauses, using Datalog built-in top/2, which allows to prune the number of computed tuples * Changes: o The system prompt for Datalog language changes to the old prompt DES>, as almost any input can be handled from this setting. The only inputs that must explicitly submitted to a language processor are those that can be handled by several language processors o Null identifiers are not wasted as eagerly as in previous versions o Negation algorithm et_not do not longer rely on computations by strata o New organization of system files: + des_sql_debug.pl (debugger extracted from former des_sql.pl) + des_dl_debug.pl (replaces des_debug.pl), and + des_ra.pl (includes RA processor) * Fixed bugs: o Listings of SQL statements including Top-N queries failed o After submitting an incorrect SQL view, all of its temporary schema was not cleaned up o Variable names in consulted Datalog constraints were lost o New schema names defined in the list of local definitions inside a WITH or ASSUME SQL statement were not handled appropriately. Bug introduced in version 2.6 o Only one blank was allowed after a SELECT statement. Bug introduced in version 2.6 o Operator precedence in SQL conditions and Datalog bodies was not correctly handled (parentheses were needed to ensure correct operator applications) o Renamed relations could not be enclosed between parentheses o A renamed argument in a nested query was not visible for the WHERE condition of its outer query o Expressions in nested SQL queries could not be referenced from outermost queries o Type inference failed in some situations for equivalent internal string types (cf. russell.sql). Bug introduced in version 2.6 o Underscored variables in a head rule made rule assertion fail o The Prolog interpreter did not handle conjunctive and disjunctive queries _______________________________________________ Users-prolog mailing list [email protected] https://lists.gnu.org/mailman/listinfo/users-prolog
