# DES 6.6 Released

**URL:** <https://swi-prolog.discourse.group/t/des-6-6-released/3523>\
**Category:** Announce\
**Tags:** software, des\
**Created:** [January 25, 2021, 9:45pm UTC](https://swi-prolog.discourse.group/t/des-6-6-released/3523 "2021-01-25T21:45:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![fsaenzperez](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/fsaenzperez/32/50_2.png) [@fsaenzperez](https://swi-prolog.discourse.group/u/fsaenzperez)\
**Post date:** [January 25, 2021, 9:45pm UTC](https://swi-prolog.discourse.group/t/des-6-6-released/3523/1 "2021-01-25T21:45:47Z")

</div>

[Apologies for multiple receptions]

Hello.  
Hoping and wishing the best in current circumstances, this  
is a mail just for informing that the new release

Datalog Educational System version 6.6  
[http://des.sourceforge.net](http://des.sourceforge.net)

Mirrored at: [https://www.fdi.ucm.es/profesor/fernan/des](https://www.fdi.ucm.es/profesor/fernan/des)

And also its online interface has been made available at:

[https://desweb.fdi.ucm.es](https://desweb.fdi.ucm.es)

has been launched on January, 25th, 2021, and tested for

SICStus Prolog 4.4.1  
SWI-Prolog 7.4.2

The current version is mainly focused on the SQL debugger.  
First, a new ACIDE version includes a panel with an  
interactive graphical debugger for SQL based on the existing  
algorithms in DES. To make this work, several new commands  
with TAPI support have been added. Following the  
requirements for a graphical interface, new TAPI-enabled  
commands have been also provided for the Datalog debugger  
(for which a new interactive debugger panel is now under  
construction). Second, the coverage of SQL has been extended  
with clauses such as for dealing with pagination (offset and  
limit) and quantifers. Third, thanks to the experience in  
(now virtual) classrooms, unnoticed bugs have been revealed  
and fixed, mainly related to SQL and RA. Finally, other  
commands have been added and changes have been made.

A complete list of enhancements and fixed bugs is attached  
to the end of this message.  
Please, see [http://des.sourceforge.net](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](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 6.6 of DES (released on January, 25th, 2021)

- Enhancements:  
o TAPI interface for Datalog and SQL debuggers  
o Full Datalog debugger can be applied to the local  
database (no need for a source file)  
o The original source database is restored after a Datalog  
debugging session  
o Listed possible answers to Datalog debugger restricted  
for propositional predicates  
o New offset Datalog predicate for pagination  
o Expression evaluation in goal arguments of  
metapredicates  
o Fractions of seconds are allowed in time data type  
o A foreign key can reference the same table it is applied  
to  
o Support for aggregates in ALL/ANY SQL subqueries  
o Improved automatic type casting for SQL built-ins  
o Allow for escaped proprietary and standard SQL user  
delimiters  
o Positional arguments allowed for GROUP BY and ORDER BY  
clauses, including expressions solved at run time  
o Allow for escaped delimiters in SQL user identifiers  
o More precise semantic warning message for unneeded  
argument in SQL COUNT  
o Added OFFSET and LIMIT clauses to SQL queries  
o Modifier ALL added to INTERSECT and EXCEPT multiset SQL  
operations  
o Added DEFAULT VALUES option for INSERT  
o Added internal error messages for command processing  
o The condition in the /if command can be surrounded by  
parentheses  
o Uncontrolled exceptions handled in TAPI commands  
o New commands:

- Changes:  
o Simplified questions in SQL debugger  
o The command interface for /debug\_dl has been changed to  
be similar to /debug\_sql, also adding a new option and  
optional answer. Additionally, it becomes TAPI enabled  
o Added DBMS-sensitive delimiters in output for relations  
o SQL EXCEPT DISTINCT semantics changed for committing to  
SQL standard  
o The command /get\_relation is sensitive to the current  
order answer setting  
o The command /relation\_modified displays all modified  
relations  
o The input /silent Input is not logged  
o Substring for a negative Offset works as: If Length is  
greater than -Offset, then the first Length+Offset+1  
characters are returned (up to the length of the string)  
o SQL semantic checking disabled for the commands  
/generate\_db and /debug\_sql\_bench

- Fixed bugs:  
o Not found SQL GROUP BY column name in aggregate  
subqueries for comparisons  
o Foreign key constraints were not checked if the asserted  
rule contained a null  
o Predicate transformation in Datalog debugger generated  
intermediate user identifiers, possibly clashing with  
existing predicates  
o Some TOP calls were not safe in SQL compilations  
o Some incorrect translations in ALL SQL subqueries  
o SQL INTERSECTION did not discard duplicates when they  
were enabled  
o The function iif could not be used in an expression  
o Null values were rejected for casting  
o Removed incorrect SQL duplicated and constant columns  
warnings in UPDATE statements  
o Some ill-typed expressions were not identified in the  
error message  
o Labels were not correctly parsed in multiline mode  
o SQL user identifiers including blanks were not delimited  
in some listings  
o An SQL statement including an inconsistent condition  
with type casting enabled was rejected without a hint  
o The full Datalog debugger failed for transformed source  
rules  
o SQL strings including a semicolon were not well  
tokenized  
o A TAPI command at the end of a script had to end in a  
new-line  
o Missing answers after solving an embedded implication  
after the last goal of a previous join  
o Trying to CREATE OR REPLACE a view already defined as a  
table led to a non-meaningful error message  
o Foreign key constraints involving several attributes may  
fail to be posted  
o String constants as arguments of user relations were  
missed with expressions  
o DES exited when a timeout occurred during processing a  
script file  
o Some incorrect compilations with type casting enabled  
o Underscored variables as head arguments were removed  
when consulting a Datalog program  
o Plain Datalog debugger did not reset root tuples for  
statistics  
o Datalog basic queries with removed anonymous variable  
arguments missed the PDG  
o The predicate order\_by did not return an answer for a  
true goal  
o Aggregate functions as arguments in expressions might  
raise an exception  
o The Datalog debugger failed when all mutually recursive  
nodes were non valid  
o The command /set\_timeout threw an error instead of  
informing of an invalid number  
o The global timeout was not applied  
o The file des\_pchr.pl for the Datalog debugger was not  
included in binary distros  
o Error during parsing exclusive optional modifiers of the  
command /dependent\_relations  
o Error when parsing a restricting query with multiline  
enabled  
o Datalog 0-arity functions count and count\_distinct were  
allowed in SQL  
o In multiline mode, the terminator “;” did not end some  
incorrect SQL / RA / TRC / DRC inputs  
o Unfolding a negated disjunction was not correct  
o SQL INTERSECT operation did not discard duplicates when  
they were enabled  
o An aggregate on a single row for a specific program  
optimization gave a null result  
o System facts were listed when development listings were  
not enabled  
o A negated LIKE in SQL lead an exception  
o Simplifying rules with failing ground primitives lead to  
error  
o Safe goal reordering did not consider the metapredicate  
or

//----------------------------//  
// ACIDE 0.18 Release Notes //  
// January, 25th 2021 //  
//----------------------------//

- Enhancements, changes and fixed bugs:  
o Added complete functionality to the SQL Debug panel.  
o Graphs in all panels are drawn with the root node at the  
top.  
o Added the RDG (Relation Dependency Graph) to the PDG  
panel.  
o Lexicon configuration is kept after console reset.  
o Views opened from the Database panel are updated on  
opening.  
o Catching errors when modifying an SQL view.  
o Data retrieved from views in the grid are no longer  
editable (there is not support for updatable views).  
o When the checkbox ‘SQL Text’ is checked, the  
corresponding view is shown in the Database panel.  
o Avoiding most non-TAPI commands in the communication  
between ACIDE and DES.  
o Fixed inserting and deleting tuples on tables with more  
than one column.  
o Fixed view and table grid display for external  
databases.  
o Fixed SQL text display for external databases when  
modifying views.

IMPORTANT CAVEATS / KNOWN BUGS:  
o Ctrl+Mouse Wheel for resizing font display may take long  
time depending on the number of open file editors.  
o Opening medium-sized text files may take long time due  
to lexical analysis. No progress indicators are provided.  
Only when all editor windows are processed they are  
displayed.  
o As an alpha version, there are expected many bugs and  
incomplete functionalities. Please report them to  
fernan@sip.ucm.es
