Home / des / des3.1
Name Modified Size InfoDownloads / Week
Parent folder
DES3.1Windows64SICStus.zip 2012-12-23 6.4 MB
DES3.1ACIDE0.9Windows64SICStus.zip 2012-12-23 18.9 MB
DES3.1Linux32SICStus.zip 2012-12-21 5.4 MB
DES3.1LinuxSWI32.zip 2012-12-21 1.9 MB
releasenoteshistoryDES3.1.pdf 2012-12-20 300.7 kB
readmeDES3.1.txt 2012-12-20 8.0 kB
DES3.1Windows64SWI.zip 2012-12-20 3.5 MB
manualDES3.1.pdf 2012-12-20 1.5 MB
DES3.1Windows32SICStus.zip 2012-12-20 5.0 MB
DES3.1Windows32SWI.zip 2012-12-20 3.9 MB
DES3.1SWI.zip 2012-12-20 1.7 MB
DES3.1Sicstus.zip 2012-12-20 1.7 MB
DES3.1MacOSX64SWI.zip 2012-12-20 1.9 MB
DES3.1ACIDE0.9Windows64SWI.zip 2012-12-20 17.7 MB
DES3.1ACIDE0.9Windows32SWI.zip 2012-12-20 17.6 MB
DES3.1ACIDE0.9Windows32SICStus.zip 2012-12-20 17.9 MB
DES3.1ACIDE0.9MacOSX64SWI.zip 2012-12-20 16.5 MB
DES3.1ACIDE0.9Linux32SWI.zip 2012-12-20 16.5 MB
DES3.1ACIDE0.9Linux32SICStus.zip 2012-12-20 20.1 MB
Building_executables_SICStus_Prolog.txt 2012-12-20 7.0 kB
Building_executables_SWI-Prolog.txt 2012-12-20 6.9 kB
Totals: 21 Items   158.3 MB 0
==============================

DES INSTALLATION (quick guide)

==============================


==============================

Windows Binary Distribution

==============================

- Double-click on deswin.exe for starting the Windows 

application

- Execute des.exe for starting the console application


==============================

Linux Binary Distribution

==============================

- Start ./des from its installation path


==============================

Windows Source Distributions

==============================

1. Create a shortcut in the desktop for running the Prolog 

   interpreter of your choice. 

2. Modify the start directory in the "Properties" dialog box


   of the shortcut to the installation directory for DES. 

   This allows the system to consult the needed files at 

     startup.

3. Append the following options to the Prolog executable 

complete 

   filename, depending on the Prolog interpreter you use:

   (a) SICStus Prolog: -l des.pl

   (b) SWI Prolog: -g "ensure_loaded(des)" (remove --win_app

     if present)

Another alternative is to write a batch file similar to the 

script file described just in the above section.

    

==============================

Linux Source Distributions

==============================

You can write a script for starting DES according to the 

selected Prolog interpreter, as follows:

(a) SICStus Prolog: 

    $SICSTUS -l des.pl 

    Provided that $SICSTUS is the variable which holds 

    the absolute filename of the SICStus Prolog executable.

(b) SWI Prolog: 

    $SWI -g "ensure_loaded(des)"

    Provided that $SWI is the variable which holds the 

    absolute filename of the SWI Prolog executable.


==============================

More Information: 

==============================


- See User Manual

  'Documentation' entry in 

  

    http://www.fdi.ucm.es/profesor/fernan/des/html/download.htm

- http://des.sourceforge.net



Version 3.1 of DES (released on December, 20th, 2012)


* Enhancements:

  o Deductive engine inference is now possible for an open 

    ODBC connection, enabling to directly submit queries which

    are not supported by the external DBMS (cf. 

    /des_sql_solving command)

  o Division operation is now supported for the relational 

    algebra query language

  o SQL has been extended beyond standard with the 

    relational division operation as an operator in the FROM 

    clause of a SELECT statement

  o New commands:

    - /db_schema Synonym for all variants of /dbschema

    - /des Input Force DES to solve Input. If Input is a SQL

      query, DES solves it instead of relying on external DBMS

      solving. This allows to try the more expressive queries 

      which are available in DES (as, e.g., hypothetical and 

      non-linear recursive queries)

    - /des_sql_solving Display whether DES is forced to 

      solve SQL queries for external DBs

    - /des_sql_solving Switch Enable or disable DES SQL 

      solving for external DBs

    - /edit Filename Edit Filename by calling the predefined

      external text editor. This editor is set with the 

      command /set_editor

    - /format_timing Display whether formatted timing is 

      enabled

    - /format_timing Switch Enable or disable formatted 

      timing (on or off, resp.)

    - /prompt Display the prompt format

    - /prompt Switch Set the format of the prompt. The value

      'des' sets the prompt to 'DES>'. The value 'des_db' adds

      the current database name DB as 'DES:DB>'. Finally, 

      'plain' sets the prompt to '>'. Note that, in any case, 

      if a language other than Datalog is selected, the 

      language name is also displayed before ''>''

    - /set_editor Display the current external text editor

    - /set_editor Editor Set the current external text 

      editor to Editor

  o Stopwatch precision of 1 millisecond for SICStus distros

  o Better performance for persistent predicates updates by 

    identifying base cases (facts)

  o Better SQL and RA compilations to Datalog

  o SQL to Datalog compilations are also displayed for DML 

    statements

  o Added verbose info on solving SQL and RA queries

  o Better identification with relation names of 

    non-existing columns

  o Added the SQL type NUMBER(POS,DEC), although not checked

    as domain restrictor

  o Support for persistency tested in and adapted for more 

    external RDBMS's (IBM DB2 10.1, Sybase ASE 15.7, Oracle 

    11g in addition to the already tested MS Access 2003, 

    MySQL 5.1, PostgreSQL 9.1, and MS SQL Server 2008)

  o New port to SICStus Prolog 4.2.3

  o New port to SWI-Prolog 6.2.4

  o More examples (e.g., puzzle bridge.pl and even_odd.sql)

* Changes:

  o As the ODBC connection to Oracle RDBMS is really slow in

    some systems, for opening a connection, only user tables 

    and views are read to build the PDG

  o When an opened ODBC connection is the current one, 

    queries are no longer parsed by DES

  o Output display disabling also affects to logging

  o Tracing a view also shows its definition

  o Variables as shown in type errors become named

  o Visibility rules of RA are as original proposal

  o Last stage of source-to-source transformations is now 

    displayed with /show_compilations on

* Fixed bugs:

  o The command /abolish with arguments and referring to a 

    non-persisted predicate raised an input processing error

  o Mutually recursive definitions in a single SQL statement

    led to compilation rejection

  o Query schema was missing in the query outcome (bug 

    introduced in version 3.0)

  o Some running information were displayed when output was 

    off

  o Some non-ground arithmetical expressions generated an 

    exception during parsing

  o Datalog rules as compiled from a SQL query were not 

    removed upon an exception

  o In SICStus distros, SQL answers with repeated column 

    names were not computed correctly for an ODBC connection

  o count(*) was simply displayed as count in SQL statements

    for command /dbschema

  o The full join operation returned more tuples than 

    expected

  o Some SQL keywords (e.g., IN) required a leading or a 

    preceding blank (an opening and closing parenthesis, 

    resp., is also allowed now)

  o IS NULL and IS NOT NULL SQL conditions were not parsed 

    (bug introduced in version 2.7)

  o Rules and SQL statements including null checking were 

    not tested for safety

  o 'Group by' statements and rules including 

    predicates/relations as data sources in the having 

    condition were not correctly computed because the 

    predicate dependency graph didn't include such data 

    sources

  o Some safe rules including the predicate group_by were 

    detected as unsafe

  o Some code simplifications involving the metapredicate 

    distinct were incomplete

  o After an exception during solving a SQL query, 

    compilations were not removed

  o Some translations of SQL statements involving NOT EXIST 

    clauses were not correct

  o The condition in the predicate group_by was not tested 

    for safety so that no program transformations were applied

    to possibly develop safe rules

  o Inserting a foreign key assertion was not checked 

    correctly in all cases

  o Inserting a tuple into a table with a compound primary 

    key was not checked correctly in all cases

  o Some Datalog simplifications forced by SQL compilations 

    were wrong

  o A nested UNION (removing duplicates: DISTINCT) SQL 

    statement lost the connecting references

  o Some expression and column references in SQL statements 

    have been fixed

  o In some cases, a type error relating matching numeric 

    expressions was raised


Source: readmeDES3.1.txt, updated 2012-12-20