DES 6.9 Released

2 views
Skip to first unread message

fer...@ucm.es

unread,
Nov 25, 2025, 2:32:25 PMNov 25
to sicstu...@googlegroups.com
[Apologies for multiple receptions]

Hello,

This is a mail just for informing that the new release

Datalog Educational System version 6.9
http://des.sourceforge.net

Mirrored at: https://www.fdi.ucm.es/profesor/fernan/des

And also its online interface has been made available at:

https://desweb.fdi.ucm.es

has been launched on November, 25th, 2025, and tested for

SICStus Prolog 4.4.1

This version introduces several upgrades, mainly driven by
teaching needs. First, when submitting an SQL query
(top-level, with create view...) the system may display a
better formulation if one is found. This process involves
compiling the query into Datalog rules, applying
optimizations, and then compiling the resulting rules back
into SQL. If the optimized query has fewer nodes in its
syntactic tree than the original or, if it is more efficient
(e.g., by using WHERE instead of HAVING conditions) then it
is suggested as a hint for a better alternative. Second, as
a collateral effect of the improved Datalog to SQL
compilation (which now handles more built-ins) a wider set
of rules in persistent predicates can be externally stored
as SQL views. Third, both SQL and RA languages have extended
coverage, including SQL ALTER TABLE, UPDATE and SELECT
statements, and well as additional RA set operations.
Fourth, improved SQL translations for AR, DRC and TRC are
now available. Finally, DES includes various enhancements,
new commands, and refinements. Section 9.1 includes the
complete list of enhancements, changes and bug fixes.

A complete list of enhancements 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 (4a. 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.9 of DES (released on November, 25th, 2025)

* Enhancements:
o SQL reformulations for top-level queries and view
creation are offered when the system identifies
alternatives that enhance readability and/or performance
o SQL semantic analysis extended to local processing of
queries to external connections (when /des_sql_solving is
on)
o Added support for external evaluation of order_by/3,
group_by/3, top/1, distinct/1, distinct/2, is_null/1,
is_not_null/1, intermediate assignments for expressions,
disjunctive conditions (OR instead of UNION) and
subqueries in persistent predicates
o Added TOP, OFFSET and LIMIT clauses for UPDATE and
DELETE SQL statements
o The SQL statement UPDATE followed by TABLE raises an
error only when there is no table with name "table"
o Allow for RENAME COLUMN in the ALTER TABLE statement
o Aggregates in a GROUP BY clause are identified and the
query is rejected
o New RA set operators union_all, intersect_all and
difference_all for keeping duplicates
o Improved SQL translations for AR, DRC and TRC (can be
seen with the command /show_sql on)
o Host safe extended to consulting Datalog files
o Some tweaks on information messages
o Improved validation to catch mismatches between local
view definitions and their schemas
o Simplification of Datalog goals for metapredicate goal
arguments. In particular, this allows for discovering more
semantic issues in SQL queries
o False goals are anticipated in some cases
o Most commands with a switch argument become TAPI enabled
o More stable logs in case of broken streams
o Fixed some documentation issues, both in the system and
in the manuals
o New functions and predicates. For each function below,
there is a counterpart Datalog predicate with the same
name prepended with $, and with an extra final argument as
output:
- asc(X) Return the ASCII code from a character X
- chr(X) Return the character from an ASCII code X
o New commands:
- /des_developing Display whether DES developing in
underway: on means that atoms are not quoted and lists
of codes are rendered as strings, and off the other way
round. TAPI enabled
- /des_developing Switch Enable or disable DES
developing (on or off, resp.): on means that atoms are
not quoted and lists of codes are rendered as strings,
and off the other way round. This uses different portray
clauses for easing tracing along development. TAPI
enabled
- /display_answer_schema Display whether display of the
answer schema is enabled. The schema is only displayed
if the answer display is enabled (see the command
/display_answer). TAPI enabled
- /display_answer_schema Switch Enable or disable
display of the answer schema (on or off, resp.) The
schema is only displayed if the answer display is
enabled (see the command /display_answer). TAPI enabled
- /last_sql_hint Display the last SQL hint, if
available. A hint is a reformulation of an SQL query
that improves upon the original. "Improving" may refer
to a smaller query size or a more appropriate structure;
for example, placing conditions in the WHERE clause is
preferred over using HAVING. TAPI enabled
- /sql_hints Display whether SQL hints are enabled
(enabled by default). If enabled, alternative SQL
formulations for input SQL queries are displayed. TAPI
enabled
- /sql_hints Option Set the required level of SQL hints
as disabled, enabled or full (off, on or full, resp.) If
enabled, alternative SQL formulations for input SQL
queries are displayed. The full option applies hints
also to from-less queries. TAPI enabled
- /verbose_listings Display whether verbose listings for
SQL, AR, DRC and TRC are enabled (on or off, resp.) When
disabled, default modifiers ALL, DISTINCT and ASC are
omitted. TAPI enabled
- /verbose_listings Switch Enable or disable verbose
listings for SQL, AR, DRC and TRC (on or off, resp.)
When disabled, default modifiers ALL, DISTINCT and ASC
are omitted. TAPI enabled

* Changes:
o Changed the semantics of replace to avoid the solver not
to terminate when using an empty string as its second
argument
o The commands /indexing, /multiline, /order_answer,
/output, /timing now emit warnings as other commands
o The messages from /order_answer have been changed to be
similar to other switching commands
o The command /spy automatically enables debugging
o Changed the renamings "reli" to " r_i " in SQL listings
for AR, DRC, and TRC equivalent statements
o Removed parentheses after NOT for NOT EXISTS SQL clauses
in displays
o SQL listings are not verbose by default (make them
verbose with the new command /verbose_listings on).
Optional keywords (such as ALL) are omitted
o The command /des Input is moved to the Query Languages
category

* Fixed bugs:
o The command /list_predicates raised an exception
o The command /writeln_to_file raised an exception. Help
on this command via /help was erroneous
o Help on built-ins did not show the Conversion category
o In DB2 and Oracle, identifiers starting with $ should
preserve its original case
o Undefined predicates starting with $ which are not
built-ins were not warned as such
o The file name argument of the command /rm could not
include enclosing double quotes in the SICStus Prolog
distributions
o Some built-ins had no mode declaration, which led to
incorrect translations
o Solving some built-ins via top/2 raised an existence
exception
o The display of the PDG raised an exception in verbose,
fuzzy mode
o Dropping tables for DB2 added the CASCADE clause, which
is not supported
o Storing new states for nested processing might rewrite
older states
o Extra line in /dangling_relations when there are not
such relations
o Missing answer schema for obtaining a relation
cardinality from DB2
o Dropping an external relation lead to failure when
updating the PDG
o Making persistent an unsafe predicate failed
o Delimiters for DB2 SQL identifiers were not generated
o Some rules were omitted as a result of unfolding in the
presence of embedded implications
o COUNT(*) was not capitalized in SQL displays
o Different variables in Datalog rules resulting from
compilations might appear with the same displayed name
o The command /des Input was not working. Bug introduced
in DES version 6.4
o The command /abolish cleared modes for built-in
predicates, which led to invalid compilations
o Escaped LIKE was displayed with its internal
representation
o Linearizing a head failed when all its arguments were
already linear
o Displaying an SQL query from compilations might show a
table name t instead of the original one
o Debugging external DB2 databases might raise exceptions
o When abolishing, persistent predicates were not
abolished in the topological order



//----------------------------//
// ACIDE 0.19 Release Notes //
// June, 15th 2025 //
//----------------------------//


* Enhancements, changes and fixed bugs:
o Theme Management: Allows users to customize color
schemes for the application's interface, including font
settings, and save configurations as themes.
o File Encoding Selection: Enables users to choose the
encoding format for loaded files.
o Persistent Window Dimensions: ACIDE now retains its
dimensions when restarted.
o Configurable "Run" Button: Users can personalize the
execution button behavior.
o Resizable Number of Rules in Asserted Database: Improves
visibility and management of rules within the database.
o Enhanced Console Functionality: Users can now paste
content directly at the cursor position within the
console.
o Project Closure Fix: Corrected ACIDE's behavior when
closing an active project.
o Installer Creation: Developed an ACIDE installer for
simplified setup.
o Table Creation Using Datalog: Added support for defining
tables through Datalog.
o Line Wrapping Fix: Improved the text wrapping feature in
the editor.
o File Format Enhancements: Refined configuration and
management of file formats.
o Various Bug Fixes & Performance Optimizations:
Implemented stability improvements and usability
enhancements.



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
fer...@sip.ucm.es

Reply all
Reply to author
Forward
0 new messages