[Apologies for multiple receptions]
Hello.
This is a mail just for informing that the new release
Datalog Educational System version 6.4
http://des.sourceforge.net
has been launched on January, 20th, 2020, and tested for
SICStus Prolog 4.4.1
SWI-Prolog 7.4.2
The current version mainly improves SQL features. First,
several functions (for strings, datetime and numbers) are
provided, also with counterpart Datalog predicates. Second,
several commands are included: for datetime display format,
SQL debugging (intended to work with the Java ACIDE
front-end for interactive graphical debugging, which is
currently under development), and others related to the
communication with the online system. As a result of this
latter set of commands, DESweb has been improved, and the
messages panel has been replaced by a truly reactive
database panel. Different tabs in this panel allows the user
to inspect the database schema, display query results, and
display relation contents. Any interactive change (either
schema or data content) to any relation is automatically
updated in the display, even for external ODBC connections
when possible (by contrast to most database front-ends,
which require the user to manually refresh the view).
Finally, other commands have been added, changes have been
made and some bugs have been fixed.
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 913947576. 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.4 of DES (released on January, 20th, 2020)
-
Enhancements:
o Dates as strings can be written and displayed in several
formats, which are specified with the new command
/date_format Format
o Checking for SQL built-in redefinitions
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:- left(X,Y) Return the first Y characters of X.
- ltrim(X) Remove leading spaces from X.
- rtrim(X) Remove trailing spaces from X.
- repeat(X,Y) Repeat the string X as many times as Y.
- right(X,Y) Return the last Y characters of X.
- space(X) Return a string with X spaces.
- sysdate Synomym for current_date (Oracle syntax).
- trunc(X,D) (Truncate) Return X truncated to D
decimals. - truncate(X,D) (ISO) Return X truncated to D decimals.
o The optional IF EXISTS clause in dropping tables and
views can be placed at the end of the statement
o Cascading drop for tables and views
o New commands: - /date_format Display the current date format
- /date_format Format Set the date format for display
and specifying dates as strings. Format is a string
including YYYY (numeric year), MM (numeric month), DD
(numeric day of the month), and a (single-char)
separator between them. Default is ISO 8601: YYYY-MM-DD - /dbs_schemas Display the schema of each open database:
Tables, views and constraints. TAPI enabled - /debug_sql_answer Answer a question when debugging an
SQL view. TAPI enabled - /debug_sql_current_question Display the current
question when debugging an SQL view. TAPI enabled - /debug_sql_set_node Node State Set the state for a
node with unknown state. State can be either valid or
nonvalid. TAPI enabled - /des Synonym for /datalog (switch to Datalog
interpreter) - /format_datetime Display whether formatted date and
time for datetime values is enabled. It is disabled by
default - /format_datetime Switch Enable or disable formatted
date and time for datetime values (on or off, resp.) If
disabled (as default), dates are displayed as date(year,
month, day), and time is displayed as time(hour, minute,
second), both with positive numbers for each term
argument. If enabled, dates are displayed in the date
format as specified by the command /date_format, and
time is displayed as HH:Mi:SS. - /get_relation Connection Relation Display the relation
schema and data for the given connection as the Prolog
term schema_data(Schema,Data), where Schema is of the
form relname(col_1:type_1,…,col_n:type_n), Data is a
list of tuples relname(val_1,…,val_n), col_i are
column names, type_i are type names, and val_i are
values of the corresponding type type_i. If
Connection=$des and Relation=answer, the outcome
corresponds to the answer to the last submitted query - /keep_answer_table Display whether keeping the answer
table is enabled - /keep_answer_table Switch Enable or disable keeping
the answer table (on or off, resp.) - /relation_modified Display the relation modified by
the last input (Datalog relation, SQL table or view),
whether it is typed or not, as the Prolog term
connection_table(Connection, Relation), where Connection
is the connection for which the relation with name
Relation has been modified. If that last input did not
modify any relation, false is displayed. TAPI enabled
-
Changes:
o Delimiters in messages changed from single to double
quotes
o Dates and times are displayed as formatted strings
according to the current date and time formats
o Display in verbose mode: order of some display messages
and some added
o The predefined dual table occurs explicitly in the state
of debugging
o Added new optional arguments and relation specification
to the following command:- /dependent_relations [direct] [declared] Relation
Display a list of relations that depend on Relation.
Relation can be either a pattern R/A or a relation R. A
relation R can be either a relation name N or C:N, where
C refers to a specific connection and N is a relation
name. If direct is included, the dependency is only
direct; otherwise, the dependency is both direct and
indirect. If declared is included, only declared (typed)
relations are included in the outcome. In development
mode, system-generated predicates are also considered.
TAPI enabled
- /dependent_relations [direct] [declared] Relation
-
Fixed bugs:
o Debugging SQL views with either explicit or implicit
references to the dual table was incorrect
o Filenames in consult commands could not contain blanks
even when surrounded with double quotes
o Correlated updates failed
o Coalesce didn’t apply to aggregates
o Cast raised an exception for some types
o Some batch SQL updates failed integrity constraints
o A BC date in an atom was not translated to a
non-positive year value
o A verbose sorting answer message was displayed when no
sorting was done. Now, such a message is only issued when
the answer is sorted by default
o Dropping a table with incoming referential integrity
constraints did not remove the corresponding Datalog
constraints
//------------------------------//
// ACIDE 0.17 Release Notes //
// September, 10th 2015 //
//------------------------------//
- Enhancements, changes and fixed bugs:
o Localization to French
o Multiple editors for new files
o New Reset and Refresh buttons for the Database panel
o The Datalog query for Trace Datalog becomes single-lined
o Keyboard shortcut (F9) for Play
o Rule (SQL statement, resp.) location becomes disabled
by-default in Trace Datalog (Trace SQL, resp.)
o New Debug SQL panel but with incomplete functionality
o Bug fixes in several panels (Console, Database, …) but
presumably others added.
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