next up previous contents index
Next: Hooks Up: Tabled Predicate Manipulations Previous: Predicates for Table Inspection   Contents   Index


Deleting Tables and Table Components

The following predicates succeed whenever the table(s) in question are complete. In order to ensure correct evaluations, incomplete tables may not be removed by the user. Note that incomplete tables are abolished automatically by the system on exceptions and when the interpreter level is resumed.




abolish_all_tables
Tabling
Removes the tables presently in the system and frees all the memory held by XSB for these structures. Predicates which have been declared tabled remain so, but their table entries, if any, are deleted.

abolish_table_call(+CallTerm)
Tabling
Removes all table entries for the subgoals that unify with CallTerm, should any exist. The predicate remains tabled and all of its other table entries remain intact. Throws a table_error exception if applied to subsumptive tables.

abolish_table_pred(+PredSpec)
Tabling
Removes all entries from the table for the predicate denoted by PredSpec. The predicate remains tabled but the memory held by its former table entries is returned to XSB for future entry creation.

delete_return(+TableEntryHandle,+ReturnHandle)
Tabling
Removes the answer indicated by ReturnHandle from the table entry referenced by TableEntryHandle. The value of each argument should be obtained from some previous invocation of a table-inspection predicate.


next up previous contents index
Next: Hooks Up: Tabled Predicate Manipulations Previous: Predicates for Table Inspection   Contents   Index
Luis Fernando P. de Castro 2003-06-27