% BEGIN LICENSE BLOCK % Version: CMPL 1.1 % % The contents of this file are subject to the Cisco-style Mozilla Public % License Version 1.1 (the "License"); you may not use this file except % in compliance with the License. You may obtain a copy of the License % at www.eclipse-clp.org/license. % % Software distributed under the License is distributed on an "AS IS" % basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See % the License for the specific language governing rights and limitations % under the License. % % The Original Code is The ECLiPSe Constraint Logic Programming System. % The Initial Developer of the Original Code is Cisco Systems, Inc. % Portions created by the Initial Developer are % Copyright (C) 2006 Cisco Systems, Inc. All Rights Reserved. % % Contributor(s): % % END LICENSE BLOCK % File : kernel-lst.tex % Date : March 1992 % Author : Michael Dahmen (edit of automatic generated file) % Modified by : Luis Hermosilla, August 1992 % Project : MegaLog-Sepia User Manual % Content : predicates of module Database Kernel \section{\eclipse Database Kernel} The following predicates are exported by the module {\bf database\_kernel}. %\biponelinesection{\eclipse Database Kernel} \label{kernel-sub} \begin{description} \item[bang_arity(+RelationName, ?Arity)]{Get the number of attributes in a relation.} \index{bang_arity/2} \item[bang_attribute(+RelationName, +Position, ?Spec)]{Get the specification of an attribute in a relation.} \index{bang_attribute/3} \item[bang_cardinality(+RelationName, ?Count)]{Get the number of tuples in a relation.} \index{bang_cardinality/2} \item[bang_createrel(?RelationName, ?SpecList, +OptionList)]{Create a relation.} \index{bang_createrel/3} \item[bang_delete(+RelationName, +Condition)]{Delete all tuples in relation that are selected by condition.} \index{bang_delete/2} \item[bang_delete_tup(+RelationName, +Tuple)]{Delete all occurrences of the tuple from the relation.} \index{bang_delete_tup/2} \item[bang_delete_tup(+RelationName, +Tuple, -Status)]{Delete all occurrences of the tuple from the relation and return a status.} \index{bang_delete_tup/3} \item[bang_destroyrel(+RelationName)]{Destroy a relation i.e. remove it from the database.} \index{bang_destroyrel/1} \item[bang_diff(+Rel1, +Rel2, +Condition, +Projection, ?RelOut)]{Relational difference operation, also known as complementary join.} \index{bang_diff/5} \item[bang_diff(+Rel1, +Rel2, +Condition, +Projection, ?RelOut, +Action)]{Relational difference operation, also known as complementary join.} \index{bang_diff/6} \item[bang_exist(+RelationName, +Condition)]{Succeeds if there exist at least one tuple in the relation that fulfills the selection condition.} \index{bang_exist/2} \item[bang_existrel(+RelationName)]{Succeed if the relation exists.} \index{bang_existrel/1} \item[bang_format(+RelationName, ?SpecList)]{Obtain the list of attribute specification.} \index{bang_format/2} \item[bang_format(+RelationName, ?SpecList, ?Arity)]{Obtain the list of attribute specification and the arity of a relation.} \index{bang_format/3} \item[bang_free_cursor]{Closes all tuple retrievals that are currently open.} \index{bang_free_cursor/0} \item[bang_insert(+RelationName, +Tuple)]{Insert a tuple into a relation.} \index{bang_insert/2} \item[bang_insert(+RelationName, +Tuple, -Status)]{Insert a tuple into a relation and return a status.} \index{bang_insert/3} \item[bang_join(+Rel1, +Rel2, +Condition, +Projection, ?RelOut)]{Relational join operation.} \index{bang_join/5} \item[bang_join(+Rel1, +Rel2, +Condition, +Projection, ?RelOut, +Action)]{Relational join operation.} \index{bang_join/6} \item[bang_recover(+DatabasePath)]{Recover a consistent database after a failed multi-database transaction.} \index{bang_recover/1} \item[bang_register(+Flag, ?Value)]{Obtain several internal values of the database.} \index{bang_register/2} \item[bang_renamerel(+OldName, +NewName)]{Change the name of a relation.} \index{bang_renamerel/2} \item[bang_renamerel(+OldName, +NewName, +NewAttributes)]{Change the name and/or the attribute names of a relation.} \index{bang_renamerel/3} \item[bang_retrieve(+RelationName, ?Tuple, +Condition)]{Tuple at a time retrieval. On backtracking the next tuple is retrieved.} \index{bang_retrieve/3} \item[bang_retrieve_delete(+RelName, ?Tuple, +Condition)]{Tuple at a time retrieval with deletion. On backtracking the next tuple is retrieved and deleted.} \index{bang_retrieve_delete/3} \item[bang_retrieve_delete(+RelName, ?Tuple, +Condition, +Test)]{Tuple at a time retrieval with deletion. On backtracking the next tuple is retrieved and deleted.} \index{bang_retrieve_delete/4} \item[bang_retrieve_list(+RelationName, +Condition, ?List)]{Retrieve the list of all tuples that satisfy the given condition.} \index{bang_retrieve_list/3} \item[bang_select(+Rel, +Condition, +Projection, ?RelOut)]{Relational selection and projection operation.} \index{bang_select/4} \item[bang_select(+Rel, +Condition, +Projection, ?RelOut, +Action)]{Relational selection and projection operation.} \index{bang_select/5} \item[closedb]{Close a database and remove all temporary relations. Fails if no database open.} \index{closedb/0} \item[closedb(+DBhandle)]{Close the open database specified by {\it DBhandle} and remove all temporary relations. Fails if no database is open.} \index{closedb/1} \item[createdb(+DatabasePath)]{Create a new database or open a database if it already exists.} \index{createdb/1} \item[createdb(+DatabasePath, ?DBhandle)]{Create or open a database and assign a database handle.} \index{createdb/2} \item[current_relation(?RelationName)]{Succeeds if {\it RelationName} is a permanent relation in the database.} \index{current_relation/1} \item[current_temp_relation(?RelationName)]{Succeeds if {\it RelationName} is a temporary relation in the database.} \index{current_temp_relation/1} \item[current_time(+TimerName, ?Value)]{Get the current time from an internal timer.} \index{current_time/2} \item[delta_time(+TimerName, ?Delta)]{Get the time since the last call from an internal timer.} \index{delta_time/2} \item[destroy_temprels]{Destroy all temporary relations in the database.} \index{destroy_temprels/0} \item[destroydb]{Destroy the currently open database.} \index{destroydb/0} \item[destroydb(+DBhandle)]{Destroy the currently open database specified by {\it DBhandle}.} \index{destroydb/1} \item[database_parameter(+Name, ?Value)]{Set or retrieve the value of an internal parameter.} \index{database_parameter/2} \item[opendb(+DatabasePath)]{Open a database.} \index{opendb/1} \item[opendb(+DatabasePath, ?DBhandle)]{Open a database and assign a database handle to it.} \index{opendb/2} \item[resource(?PageReclaims, ?PageFaults, ?Swaps)]{Get information about paging and swapping from the operating system.} \index{resource/3} \item[statistics_bang]{Print information about activity of the page buffer management.} \index{statistics_bang/0} \item[statistics_desc]{Print information about internal management of relations and corresponding UNIX files.} \index{statistics_desc/0} \item[statistics_lock]{Print information about lock management.} \index{statistics_lock/0} \item[statistics_relation(+RelationName)]{Print information on the pages of {\it RelationName} that are currently in the page buffers.} \index{statistics_relation/1} \item[transaction(+Goal)]{Meta calls {\it Goal} in a transaction context.} \index{transaction/1} %\item[transaction_commit]{Commit a transaction started with {\pbf transaction_start/0}.} %\index{transaction_commit/0} %\item[transaction_start]{Start a transaction.} %\index{transaction_start/0} %\item[transaction_undo]{Undo a transaction started with {\pbf transaction_start/0}.} %\index{transaction_undo/0} \end{description}