Okt 11, 2001: Data files are in GZIP format now. Link to OTL page was fixed.
Sep 21, 2000: version 0.3.3 released. Found bugs are fixed.
Module oracle_dynamic.pl is updated. Example oracle_dynamic_test.pl
is added. Link to a XSB-Prolog documentation page was fixed.
Jun 22, 2000: version 0.3.1 released. Support for ORACLE synonyms is
added. Found bugs are fixed. Module oracle_dynamic.pl is added.
(for ORACLE DBA ;-)
Jun 18, 2000: version 0.3 released. Support for ODBC date-time,
varchar_long and raw_long data types. Support for ORACLE date-time,
varchar2, long raw, CLOB and BLOB data types. Error messages are
changed to exceptions. Module oracle_static.pl is added (it may be
interesting for ORACLE developers and DBA :-). OracleProlog.dll is
linked with the ORACLE 8.1.6 library.
Feb 29, 2000: version 0.2.2 released. Critical cursor deallocation
bug is fixed. ODBC module interface is changed (a first step to
multiple databases connection).
Feb 24, 2000: version 0.2.1 released. Found bugs are fixed.
Feb 18, 2000: version 0.2 released. Prolog to ODBC
bridge is available.
Feb 14, 2000: first version 0.1 released. Prolog to ORACLE
bridge is provided. It is possible to connect to one database only.
PrologSQL main features
PrologSQL is a SWI-Prolog to SQL bridge, i.e. a program that converts Prolog
predicate calls to SQL queries and send them to ORACLE or ODBC.
The Prolog - Oracle interface provides the programmer with two levels of
interaction. The first, relation level interface,
offers a tuple-at-a-time retrieval of information from the database
tables. The second, view level interface, can translate an
entire Prolog clause into a single SQL query to the database, including
joins and aggregate operations.
This interface allows database tables to be accessed from Prolog
environment as though they existed as facts. All database accesses are
done on the fly allowing Prolog to sit alongside other concurrent tasks.
PrologSQL interface gives an database programmer all the features of Prolog as
a query language including intensional database specification,
recursion, the ability to deal with incomplete knowledge, inference
control through the cut operation, and the representation of
negative knowledge through negation.
Interface features
Concurrent access for multiple Prolog systems to Oracle 8.*
Full data access and cursor transparency including support for
Full data recursion
Runtime type checking
Automatic handling of NULL values for insertion,
deletion and querying
Partial recovery for cursor losses due to cuts
Full access to Oracle's SQLplus including
Transaction support
Cursor reuse for cached SQL statements
with bind variables (by avoiding re-parsing and re-declaring).
Caching compiler generated SQL statements with bind variables
and efficient cursor management for cached statements
A powerful Prolog/SQL compiler
Full source code availability for ports to other versions of
Oracle or other platforms
Independence from database schema by employing relation level
Performance as SQL by employing view level
No mode specification is required for optimized view compilation
PrologSQL is distributed under GNU General Public License.