/usr/local/lib/swipl/library/persistency.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl
      • lists.pl
      • broadcast.pl -- Event service
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl -- Option list processing
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl -- Extensible arithmetic
      • main.pl
      • readutil.pl -- Read utilities
      • operators.pl
      • pairs.pl
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl -- Ordered set manipulation
      • random.pl
      • base64.pl
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • yall.pl -- Lambda expressions
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl
      • prolog_format.pl -- Analyse format specifications
      • predicate_options.pl -- Access and analyse predicate options
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl
      • ugraphs.pl -- Graph manipulation library
      • url.pl
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl -- Run GIT commands
      • utf8.pl
      • dialect.pl -- Support multiple Prolog dialects
      • system.pl -- System utilities
      • terms.pl -- Term manipulation
      • date.pl -- Process dates and times
      • persistency.pl -- Provide persistent dynamic predicates
        • persistent/1
        • current_persistent_predicate/1
        • db_attach/2
        • db_attached/1
        • db_assert/1
        • db_detach/0
        • db_retractall/1
        • db_retract/1
        • db_sync/1
        • db_sync_all/1
      • iostream.pl -- Utilities to deal with streams
      • prolog_stack.pl -- Examine the Prolog stack
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl -- Well Founded Semantics interface
      • prolog_code.pl -- Utilities for reasoning about code
      • sort.pl
      • dicts.pl
      • dif.pl
      • varnumbers.pl -- Utilities for numbered terms
      • pio.pl -- Pure I/O
      • tables.pl -- XSB interface to tables
      • ansi_term.pl
      • backcomp.pl -- Backward compatibility
      • base32.pl
      • charsio.pl -- I/O on Lists of Character Codes
      • codesio.pl
      • coinduction.pl -- Co-Logic Programming
      • heaps.pl -- heaps/priority queues
      • rbtrees.pl
      • statistics.pl -- Get information about resource usage
      • when.pl -- Conditional coroutining
      • explain.pl
      • check.pl -- Consistency checking
      • qsave.pl -- Save current program as a state or executable
      • zip.pl -- Access resource ZIP archives
      • threadutil.pl -- Interactive thread utilities
      • optparse.pl -- command line parsing
      • prolog_debug.pl -- User level debugging tools
      • listing.pl -- List programs and pretty print clauses
      • writef.pl
      • hashtable.pl
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • rwlocks.pl
      • edit.pl
      • make.pl -- Reload modified source files
      • ctypes.pl -- Character code classification
      • increval.pl
      • macros.pl
      • prolog_autoload.pl
      • prolog_codewalk.pl -- Prolog code walker
      • portray_text.pl
      • streams.pl -- Manage Prolog streams
      • nb_set.pl
      • prolog_history.pl -- Per-directory persistent commandline history
      • prolog_config.pl -- Provide configuration information
      • thread.pl -- High level thread primitives
      • strings.pl -- String utilities
      • prolog_metainference.pl -- Infer meta-predicate properties
      • prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
      • exceptions.pl
      • oset.pl -- Ordered set manipulation
      • prolog_wrap.pl
      • quintus.pl
      • intercept.pl
      • files.pl
      • help.pl
      • shell.pl
      • prolog_coverage.pl -- Coverage analysis tool
      • prolog_trace.pl
      • tty.pl
      • prolog_profile.pl
      • fastrw.pl -- Fast reading and writing of terms
 db_sync(:What)
Synchronise database with the associated file. What is one of:
reload
Database is reloaded from file if the file was modified since loaded.
update
As reload, but use incremental loading if possible. This allows for two processes to examine the same database file, where one writes the database and the other periodycally calls db_sync(update) to follow the modified data.
gc
Database was re-written, deleting all retractall statements. This is the same as gc(50).
gc(Percentage)
GC DB if the number of deleted terms is greater than the given percentage of the total number of terms.
gc(always)
GC DB without checking the percentage.
close
Database stream was closed
detach
Remove all registered persistency for the calling module
nop
No-operation performed

With unbound What, db_sync/1 reloads the database if it was modified on disk, gc it if it is dirty and close it if it is opened.