users-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DES 2.7 Released


From: FERNANDO SAENZ PEREZ
Subject: DES 2.7 Released
Date: Tue, 03 Jan 2012 20:58:49 +0100

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]