[Apologies for multiple receptions] Hello. This is a mail just for informing that the new release
Datalog Educational System version 2.5 http://des.sourceforge.net has been launched on September, 13th, 2011, and ported to GNU Prolog 1.4.0 Current version introduces a textual API (Textual Application Programming Interface) for its communication with external applications, rather than providing a Prolog underlying system dependent API. It can used via standard input and output streams, as provided by the OS. Input syntax is as of DES, whereas answers follow a concrete format for easing their parsing. Several existing commands, statements and queries can be processed via this interface. As well, a couple of new SQL statements for renaming tables and views and a bundle of new commands are provided and supported for this interface. New SQL constraints have been added: existency and candidate keys. Type inferencing has been added to SQL DQL queries, in addition to the already supported DDL queries. Syntax error reportings and hints have been upgraded. Also, new ports to new versions of supported Prolog systems have been provided. 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.5 of DES (released on September, 13th, 2011) * Enhancements: o A textual API for connecting DES with external systems. Several commands and queries can be read and answered using standard streams. Currently, TAPI-enabled queries and commands are those listed in Section 5.12, which are needed to interface database schemas and data to ACIDE [Sae07]. Queries include SQL DDL, DML, and DQL statements. Datalog constraint assertions and deletions are also supported o New Datalog (strong) integrity constraints: candidate key (uniqueness) and existency (forbid nulls) integrity constraints. Commands /save_ddb and /restore_ddb apply for such new constraints o Support for UNIQUE and NOT NULL column and table constraints in SQL CREATE TABLE statements o Added support to specify column names in SQL INSERT INTO statements o Nulls are no longer allowed in primary key columns o Type inferencing added to SQL DQL queries, in addition to the already supported DDL queries o Added type mismatch report error for ill-typed SQL statements o Answers from SQL queries are annotated with their inferred types o Limited-length types are also inferred for views and queries o Types returned by ODBC connections are labelled with their lengths o Tables and views are sorted in the result of command /dbschema o Column names are ordered in predefined integrity constraint displays o Enhanced SQL syntax error reporting for built-ins used as table and column identifiers o SQL syntax error reporting for unknown columns includes hints about similar column names, in addition to the already hints about table and view names o Commands involving table, view or relation names which are not defined provide hints o Hints on alternative names also include names with swapped characters o Trying to use a built-in symbol as a user identifier in a SQL statement is warned as a syntax error o Simplified error messages o Extension table is not cleared when enabling duplicates. Instead, complete flag is reset, avoiding much recomputation o New non-standard SQL statements RENAME TABLE and RENAME VIEW o New commands: - /tapi Input Process Input and format its output for TAPI communication. - /test_tapi Test the current TAPI connection. TAPI enabled - /drop_ic Constraint Drop the specified integrity constraint, which starts with ":-" - /dependent_relations Relation Display the names of relations that depend on relation Relation. TAPI enabled - /dependent_relations Relation/Arity Display in format Name/Arity those relations that depend on relation Relation/Arity. TAPI enabled - /is_empty relation_name Display $true if the given relation is empty, and $false otherwise TAPI enabled - /list_table_constraints table_name List table constraints for table_name. TAPI enabled - /list_table_schemas List table schemas. TAPI enabled - /list_view_schemas List view schemas. TAPI enabled - /referenced_relations Relation Display the name of relations that are directly referenced by a foreign key in relation Relation. TAPI enabled - /referenced_relations Relation/Arity Display in format Name/Arity those relations that are directly referenced by a foreign key in relation Relation/Arity. TAPI enabled - /relation_exists relation_name Display $true if the given relation exists, and $false otherwise. TAPI enabled - /relation_schema relation_name Display relation schema of relation_name. TAPI enabled - /sql_left_delimiter Display the SQL left delimiter as defined by the current database manager (either DES or the external DBMS via ODBC) . TAPI enabled - /sql_right_delimiter Display the SQL right delimiter as defined by the current database manager (either DES or the external DBMS via ODBC) . TAPI enabled o New port to SWI-Prolog 5.10.5 o New port to Ciao Prolog 1.14.2 * Changes: o Identifier delimiters in output messages have been changed from [ and ] to " o Either by consulting a file, or by dropping the database, or by abolishing the complete database imply to completely reset the database (Datalog rules, tables, views and constraint definitions are removed) * Fixed bugs: o When enabling duplicates without clearing extension table, some duplicates were lost. Bug introduced in version 2.4 o Datalog queries to ODBC connections failed when involving ground or aliased arguments o Some foreign key constraint were not properly checked against database before posting o Comma-separated arguments in commands were not always correctly parsed. In particular, this affected to consulting more than one file at a time o Command /dbschema did not always show all integrity constraints o Command /save_ddb incorrectly quoted ending dots in constraints o User-defined integrity constraints are syntactically identified (including variable names), therefore avoiding ambiguity for unifiable constraints o Several SQL delimited columns in the same statement were not correctly parsed o Creating an incorrect SQL view dealt to a table with the same name. Bug introduced in version 2.4 o Most user-defined integrity constraints were not correctly parsed from files o When restoring the database, not all strong integrity constraints were removed o Write option in command log was not parsed _______________________________________________ Users-prolog mailing list Users-prolog@gnu.org https://lists.gnu.org/mailman/listinfo/users-prolog