bknr-datastore

API Reference

bknr.data.impex

baikonour - launchpad for lisp satellites

No packages.

bknr.datastore

baikonour - launchpad for lisp satellites

BKNR.DATASTORE

  • Variable *STORE-DEBUG*
    nil
    Trace and time execution of transactions
  • Variable *STORE*
  • Class STORE
    DIRECTORY   Accessor: STORE-DIRECTORY
    STATE   Accessor: STORE-STATE
    State of the datastore, can be either :closed, :opened or :read-only
    TRANSACTION-LOG-STREAM   Accessor: STORE-TRANSACTION-LOG-STREAM
    RANDOM-STATE   Accessor: STORE-RANDOM-STATE
    GUARD   Reader: STORE-GUARD
    LOG-GUARD   Reader: STORE-LOG-GUARD
    SUBSYSTEMS   Reader: STORE-SUBSYSTEMS
    TRANSACTION-RUN-TIME   Accessor: STORE-TRANSACTION-RUN-TIME
    The total run time of all application transaction code since last snapshot
  • Class MP-STORE  (STORE)
    Store in which every transaction and operation is protected by a giant lock.
    No slots.
  • Generic-Function INITIALIZE-SUBSYSTEM (subsystem store store-existed-p)
  • Generic-Function INITIALIZE-SUBSYSTEM (subsystem store store-existed-p)
  • Method INITIALIZE-SUBSYSTEM ((subsystem t) store store-existed-p)
  • Function OPEN-STORE (directory &key (class-name 'store) (subsystems (list (make-instance 'store-object-subsystem))))
  • Function CLOSE-STORE
  • Macro WITH-STORE-GUARD ((&optional (store '*store*)) &rest body)
    Execute BODY in the context of the guard of STORE.
  • Method ENSURE-STORE-CURRENT-DIRECTORY ((store store))
  • Class TRANSACTION
    FUNCTION-SYMBOL   Reader: TRANSACTION-FUNCTION-SYMBOL
    Symbol of the function called when executing the transaction
    ARGS   Reader: TRANSACTION-ARGS
    TIMESTAMP   Accessor: TRANSACTION-TIMESTAMP
  • Function IN-TRANSACTION-P
  • Function CURRENT-TRANSACTION-TIMESTAMP
  • Macro DEFTRANSACTION (name (&rest args) &rest body)
    Define a transaction function tx-NAME and a function NAME executing tx-NAME in the context of the current store. The arguments to NAME will be serialized to the transaction-log, and must be supported by the binary encoder. tx-NAME will be called during a roll-forward to repeat any effects that the transaction function had on the persistent store.
  • Function EXECUTE (transaction)
    Interface routine to execute a transaction, called through the deftransaction macro and by subsystems. Executes the transaction either with the store or with the currently active transaction, if any.
  • Macro WITH-TRANSACTION ((&optional label) &body body)
  • Generic-Function SNAPSHOT-SUBSYSTEM (store subsystem)
  • Generic-Function SNAPSHOT-SUBSYSTEM (store subsystem)
  • Function SNAPSHOT
  • Generic-Function RESTORE-SUBSYSTEM (store subsystem &key until)
  • Generic-Function RESTORE-SUBSYSTEM (store subsystem &key until)
  • Function RESTORE (&optional until)
  • Class STORE-OBJECT-SUBSYSTEM
    NEXT-OBJECT-ID   Accessor: NEXT-OBJECT-ID
    Next object ID to assign to a new object
  • Function STORE-OBJECT-SUBSYSTEM
  • Class PERSISTENT-CLASS  (INDEXED-CLASS)
    No slots.
  • Class PERSISTENT-CLASS  (INDEXED-CLASS)
    No slots.
  • Class PERSISTENT-CLASS  (INDEXED-CLASS)
    No slots.
  • Class STORE-OBJECT
    ID   Reader: STORE-OBJECT-ID
    LAST-CHANGE
  • Function CLASS-INSTANCES (class)
  • Function STORE-OBJECT-TOUCH (object)
    [Transaction function wrapper STORE-OBJECT-TOUCH invokes a store transaction] Update the LAST-CHANGE slot to reflect the current transaction timestamp.
  • Generic-Function STORE-OBJECT-LAST-CHANGE (object depth)
    Return the last change time of the OBJECT. DEPTH determines how deep the object graph will be traversed.
  • Generic-Function STORE-OBJECT-LAST-CHANGE (object depth)
    Return the last change time of the OBJECT. DEPTH determines how deep the object graph will be traversed.
  • Method STORE-OBJECT-LAST-CHANGE ((object store-object) depth)
  • Method STORE-OBJECT-LAST-CHANGE ((object store-object) depth)
  • Method STORE-OBJECT-LAST-CHANGE ((object store-object) depth)
  • Method STORE-OBJECT-LAST-CHANGE ((object store-object) (depth (eql 0)))
  • Method STORE-OBJECT-LAST-CHANGE ((object store-object) (depth (eql 0)))
  • Method STORE-OBJECT-LAST-CHANGE ((object store-object) (depth (eql 0)))
  • Macro PRINT-STORE-OBJECT ((object stream &key type) &body body)
  • Function PERSISTENT-CHANGE-CLASS (object class &rest args)
  • Generic-Function INITIALIZE-TRANSIENT-INSTANCE (store-object)
    Initializes the transient aspects of a persistent object. This method is called after a persistent object has been initialized, also when the object is loaded from a snapshot, but before reading the transaction log.
  • Generic-Function INITIALIZE-TRANSIENT-INSTANCE (store-object)
    Initializes the transient aspects of a persistent object. This method is called after a persistent object has been initialized, also when the object is loaded from a snapshot, but before reading the transaction log.
  • Method INITIALIZE-TRANSIENT-INSTANCE ((object store-object))
  • Macro DEFINE-PERSISTENT-CLASS (class (&rest superclasses) slots &rest class-options)
  • Macro DEFPERSISTENT-CLASS (class (&rest superclasses) slots &rest class-options)
  • Generic-Function CONVERT-SLOT-VALUE-WHILE-RESTORING (object slot-name value)
    Generic function to be called to convert a slot's value from a previous snapshot layout. OBJECT is the object that is being restored, SLOT-NAME is the name of the slot in the old schema, VALUE is the value of the slot in the old schema.
  • Generic-Function CONVERT-SLOT-VALUE-WHILE-RESTORING (object slot-name value)
    Generic function to be called to convert a slot's value from a previous snapshot layout. OBJECT is the object that is being restored, SLOT-NAME is the name of the slot in the old schema, VALUE is the value of the slot in the old schema.
  • Method CONVERT-SLOT-VALUE-WHILE-RESTORING (object slot-name value)
  • Method CONVERT-SLOT-VALUE-WHILE-RESTORING (object slot-name value)
  • Method CONVERT-SLOT-VALUE-WHILE-RESTORING (object slot-name value)
  • Method SNAPSHOT-SUBSYSTEM ((store store) (subsystem store-object-subsystem))
  • Method RESTORE-SUBSYSTEM ((store store) (subsystem store-object-subsystem) &key until)
  • Function DELETE-OBJECT (object)
  • Function DELETE-OBJECTS (&rest objects)
  • Generic-Function CASCADE-DELETE-P (object referencing-object)
    return non-nil if the REFERENCING-OBJECT should be deleted when the OBJECT is deleted
  • Generic-Function CASCADE-DELETE-P (object referencing-object)
    return non-nil if the REFERENCING-OBJECT should be deleted when the OBJECT is deleted
  • Method CASCADE-DELETE-P (object referencing-object)
  • Method CASCADE-DELETE-P (object referencing-object)
  • Method CASCADE-DELETE-P (object referencing-object)
  • Function CASCADING-DELETE-OBJECT (object)
    Delete the OBJECT and all objects that reference it and that are eligible to cascading deletes, as indicated by the result of calling CASCADE-DELETE-P. Generate error if there are references to the objects that are not eligible to cascading deletes.
  • Function TX-CHANGE-SLOT-VALUES (object &rest slots-and-values)
    Called by the MOP to change a persistent slot's value.
  • Function CHANGE-SLOT-VALUES (object &rest slots-and-values)
    This function is the deprecated way to set slots of persistent objects.
  • Generic-Function PREPARE-FOR-SNAPSHOT (object)
    Called for every store object before a snapshot is written.
  • Generic-Function PREPARE-FOR-SNAPSHOT (object)
    Called for every store object before a snapshot is written.
  • Method PREPARE-FOR-SNAPSHOT ((object store-object))
  • Method PREPARE-FOR-SNAPSHOT ((object store-object))
  • Method PREPARE-FOR-SNAPSHOT ((object store-object))
  • Function FIND-STORE-OBJECT (id-or-name &key (class 'store-object) query-function key-slot-name)
    Mock up implementation of find-store-object API as in the old datastore. Note: QUERY-FUNCTION will only be used if ID-OR-NAME is neither an integer nor a string designating an integer.
  • Function STORE-OBJECT-ADD-KEYWORDS (object slot keywords)
  • Function STORE-OBJECT-REMOVE-KEYWORDS (object slot keywords)
  • Function STORE-OBJECT-SET-KEYWORDS (object slot keywords)
  • Method FIND-REFS ((object store-object))
    Find references to the given OBJECT in all store-objects, traversing both single valued and list valued slots.
  • Variable *JSON-IGNORE-SLOTS*
    '(bknr.datastore::id bknr.indices::destroyed-p)
  • Macro WITH-JSON-IGNORE-SLOTS ((&rest slots) &body body)
  • Class BLOB  (STORE-OBJECT)
    TYPE   Reader: BLOB-MIME-TYPE, BLOB-TYPE
    TIMESTAMP   Reader: BLOB-TIMESTAMP
  • Class BLOB-SUBSYSTEM
    N-BLOBS-PER-DIRECTORY   Accessor: N-BLOBS-PER-DIRECTORY
    The number of blobs to store in each subdirectory of blob-root. If this is NIL, do not create subdirectories. This parameter must be specified when the when the store is created and is stored in the datastore root to ensure that the correct value is used later.
  • Function STORE-BLOB-ROOT-TEMPDIR (&optional (store *store*))
  • Method INITIALIZE-SUBSYSTEM ((subsystem blob-subsystem) store store-existed-p)
  • Function BLOB-SUBSYSTEM
  • Generic-Function BLOB-PATHNAME (blob-or-blob-id)
  • Generic-Function BLOB-PATHNAME (blob-or-blob-id)
  • Method BLOB-PATHNAME ((id integer))
  • Method BLOB-PATHNAME ((blob blob))
  • Macro WITH-OPEN-BLOB ((s blob &rest args) &rest body)
  • Generic-Function BLOB-SIZE (blob)
  • Generic-Function BLOB-SIZE (blob)
  • Method BLOB-SIZE ((blob blob))
  • Generic-Function BLOB-TO-STREAM (blob s)
  • Generic-Function BLOB-TO-STREAM (blob s)
  • Method BLOB-TO-STREAM ((blob blob) out)
  • Generic-Function BLOB-TO-FILE (blob pathname)
  • Generic-Function BLOB-TO-FILE (blob pathname)
  • Method BLOB-TO-FILE ((blob blob) pathname)
  • Generic-Function BLOB-FROM-STREAM (blob stream)
  • Generic-Function BLOB-FROM-STREAM (blob stream)
  • Method BLOB-FROM-STREAM ((blob blob) in)
  • Generic-Function BLOB-FROM-STRING (blob string)
  • Generic-Function BLOB-FROM-STRING (blob string)
  • Method BLOB-FROM-STRING ((blob blob) string)
  • Generic-Function BLOB-FROM-ARRAY (blob array)
  • Generic-Function BLOB-FROM-ARRAY (blob array)
  • Method BLOB-FROM-ARRAY ((blob blob) in)
  • Generic-Function BLOB-FROM-FILE (blob pathname)
  • Generic-Function BLOB-FROM-FILE (blob pathname)
  • Method BLOB-FROM-FILE ((blob blob) pathname)
  • Function MAKE-BLOB-FROM-FILE (pathname &optional (class 'blob) &rest initargs)
  • Method RENAME-FILE-TO-BLOB ((blob blob) pathname)
  • Method RESTORE-SUBSYSTEM ((store store) (subsystem blob-subsystem) &key until)
  • Method SNAPSHOT-SUBSYSTEM ((store store) (subsystem blob-subsystem))

BKNR.DATASTORE.TESTS

No exported symbols.

bknr.impex

BKNR XML import/export

BKNR.IMPEX

  • Class XML-CLASS  (INDEXED-CLASS)
    ELEMENT   Accessor: XML-CLASS-ELEMENT
    UNIQUE-ID-SLOT
    if set to a slot name, this signals that the slot can be used as a unique id to refer to an instance of the object in a n XML update operation
    UNIQUE-ID-READER
    if set to a function, this signals that the function can be used as a unique index-reader when used in XML update operations.
    DTD-NAME   Reader: XML-CLASS-DTD-NAME
  • Class XML-CLASS-IMPORTER  (DEFAULT-HANDLER)
    DTD   Reader: IMPORTER-DTD
    CLASS-HASH   Accessor: IMPORTER-CLASS-HASH
    ROOT-ELT   Accessor: IMPORTER-ROOT-ELT
    PARENT-ELTS   Accessor: IMPORTER-PARENT-ELTS
  • Method CREATE-INSTANCE ((handler xml-class-importer) class-name &rest initargs)
  • Method SET-SLOT-VALUE ((handler xml-class-importer) object slot-name value)
  • Function PARSE-XML-FILE (xml-file classes &key (recoder #'runes:rod-string) (importer-class 'xml-class-importer))
  • Macro WRITE-TO-XML (object &key name (output '*standard-output*) (indentation 3) (canonical nil))
  • Macro WITH-XML-EXPORT* ((&key output indentation canonical) &body body)
  • Macro WITH-XML-EXPORT (nil &body body)

bknr.indices

CLOS class indices

BKNR.INDICES

  • Generic-Function INDEX-ADD (index object)
    Add OBJECT to the INDEX. Throws an ERROR if a problem happened while inserting OBJECT.
  • Generic-Function INDEX-ADD (index object)
    Add OBJECT to the INDEX. Throws an ERROR if a problem happened while inserting OBJECT.
  • Generic-Function INDEX-GET (index key)
    Get the object (or the objects) stored under the index-key KEY.
  • Generic-Function INDEX-GET (index key)
    Get the object (or the objects) stored under the index-key KEY.
  • Generic-Function INDEX-REMOVE (index object)
    Remove OBJECT from the INDEX.
  • Generic-Function INDEX-REMOVE (index object)
    Remove OBJECT from the INDEX.
  • Generic-Function INDEX-KEYS (index)
    Returns all the KEYs of the INDEX.
  • Generic-Function INDEX-KEYS (index)
    Returns all the KEYs of the INDEX.
  • Generic-Function INDEX-VALUES (index)
    Returns all the objects (or object lists) stored in INDEX.
  • Generic-Function INDEX-VALUES (index)
    Returns all the objects (or object lists) stored in INDEX.
  • Generic-Function INDEX-MAPVALUES (index fun)
    Apply FUN to every object in the INDEX.
  • Generic-Function INDEX-MAPVALUES (index fun)
    Apply FUN to every object in the INDEX.
  • Generic-Function INDEX-REINITIALIZE (new-index old-index)
    Called when the definition of an index is changed.
  • Generic-Function INDEX-REINITIALIZE (new-index old-index)
    Called when the definition of an index is changed.
  • Generic-Function INDEX-CLEAR (index)
    Remove all indexed objects from the index.
  • Generic-Function INDEX-CLEAR (index)
    Remove all indexed objects from the index.
  • Function INDEX-CREATE (class-name &rest initargs)
    Instantiate the index object with class CLASS-NAME with INITARGS.
  • Condition INDEX-EXISTING-ERROR  (ERROR)
  • Class SLOT-INDEX
    HASH-TABLE   Accessor: SLOT-INDEX-HASH-TABLE
    The internal hash table used to index objects.
    SLOT-NAME   Reader: SLOT-INDEX-SLOT-NAME
    The value of the slot with name SLOT-NAME is used as a key to the internal hash-table.
    INDEX-NIL   Reader: SLOT-INDEX-INDEX-NIL
    If T, NIL is used as a valid slot value, else slots with NIL value are treated as unbound slots.
  • Method INDEX-GET ((index slot-index) key)
  • Method INDEX-REMOVE ((index slot-index) object)
  • Method INDEX-REMOVE ((index slot-index) object)
  • Method INDEX-KEYS ((index slot-index))
  • Method INDEX-VALUES ((index slot-index))
  • Method INDEX-MAPVALUES ((index slot-index) fun)
  • Method INDEX-CLEAR ((index slot-index))
  • Method INDEX-REINITIALIZE ((new-index slot-index) (old-index slot-index))
    Reinitialize the slot-bound index from the old index by copying the internal hash-table if the hash-table test is the same, or by iterating over the values of the old-table and reentering them into the new hash-table.
  • Class UNIQUE-INDEX  (SLOT-INDEX)
    No slots.
  • Method INDEX-ADD ((index unique-index) object)
    Add an object using the value of the specified slot as key. When the hash-table entry already contains a value, an error is signalled.
  • Class STRING-UNIQUE-INDEX  (UNIQUE-INDEX)
    No slots.
  • Method INDEX-ADD ((index string-unique-index) object)
  • Class HASH-INDEX  (SLOT-INDEX)
    No slots.
  • Method INDEX-ADD ((index hash-index) object)
  • Method INDEX-REMOVE ((index hash-index) object)
  • Method INDEX-VALUES ((index hash-index))
  • Method INDEX-MAPVALUES ((index hash-index) fun)
  • Class CLASS-INDEX  (HASH-INDEX)
    INDEX-SUPERCLASSES   Reader: CLASS-INDEX-INDEX-SUPERCLASSES
  • Method INDEX-ADD ((index class-index) object)
  • Method INDEX-REMOVE ((index class-index) object)
  • Class HASH-LIST-INDEX  (SLOT-INDEX)
    No slots.
  • Method INDEX-ADD ((index hash-list-index) object)
  • Method INDEX-REMOVE ((index hash-list-index) object)
  • Class ARRAY-INDEX
    SLOT-NAMES   Accessor: ARRAY-INDEX-SLOT-NAMES
    ARRAY   Accessor: ARRAY-INDEX-ARRAY
  • Method INDEX-ADD ((index array-index) object)
  • Method INDEX-GET ((index array-index) coords)
  • Method INDEX-REMOVE ((index array-index) object)
  • Method INDEX-KEYS ((index array-index))
  • Method INDEX-VALUES ((index array-index))
  • Method INDEX-MAPVALUES ((index array-index) (fun function))
  • Method INDEX-REINITIALIZE ((new-index array-index) (old-index array-index))
  • Method INDEX-CLEAR ((index array-index))
  • Class SKIP-LIST-INDEX
    SKIP-LIST   Accessor: SKIP-LIST-INDEX-SKIP-LIST
    SLOT-NAME   Accessor: SKIP-LIST-INDEX-SLOT-NAME
    INDEX-NIL   Accessor: SKIP-LIST-INDEX-INDEX-NIL
  • Method INDEX-ADD ((index skip-list-index) object)
    Add an object using the value of the specified slot as key. When the hash-table entry already contains a value, an error is thrown.
  • Method INDEX-GET ((index skip-list-index) key)
  • Method INDEX-REMOVE ((index skip-list-index) object)
  • Method INDEX-KEYS ((index skip-list-index))
  • Method INDEX-VALUES ((index skip-list-index))
  • Method INDEX-MAPVALUES ((index skip-list-index) fun)
  • Method INDEX-CLEAR ((index skip-list-index))
  • Method INDEX-REINITIALIZE ((new-index skip-list-index) (old-index skip-list-index))
    Reinitialize the slot-bound index from the old index by copying the internal skip-list if the skip-list order function is the same, or by iterating over the values of the old-list and reentering them into the new skip-list.
  • Class CLASS-SKIP-INDEX
    INDEX-SUPERCLASSES   Reader: CLASS-SKIP-INDEX-INDEX-SUPERCLASSES
    SLOT-NAME   Accessor: CLASS-SKIP-INDEX-SLOT-NAME
    HASH-TABLE   Accessor: CLASS-SKIP-INDEX-HASH-TABLE
  • Method INDEX-ADD ((index class-skip-index) object)
  • Method INDEX-REMOVE ((index class-skip-index) object)
  • Method INDEX-GET ((index class-skip-index) key)
  • Method INDEX-REINITIALIZE ((new-index class-skip-index) (old-index class-skip-index))
  • Method INDEX-CLEAR ((index class-skip-index))
  • Method INDEX-KEYS ((index class-skip-index))
  • Class INDEXED-CLASS  (STANDARD-CLASS)
    INDICES   Accessor: INDEXED-CLASS-INDICES
    OLD-INDICES   Accessor: INDEXED-CLASS-OLD-INDICES
    INDEX-DEFINITIONS   Accessor: INDEXED-CLASS-INDEX-DEFINITIONS
  • Method INDEXED-CLASS-INDEX-NAMED ((class indexed-class) index-name)
  • Class INDEX-DIRECT-SLOT-DEFINITION  (STANDARD-DIRECT-SLOT-DEFINITION)
    INDEX   Reader: INDEX-DIRECT-SLOT-DEFINITION-INDEX
    Slot keyword for an already existing index
    INDEX-VAR   Reader: INDEX-DIRECT-SLOT-DEFINITION-INDEX-VAR
    Symbol that will be bound to the index
    INDEX-TYPE   Reader: INDEX-DIRECT-SLOT-DEFINITION-INDEX-TYPE
    Slot keyword to specify the class of a new slot index
    INDEX-INITARGS   Reader: INDEX-DIRECT-SLOT-DEFINITION-INDEX-INITARGS
    Arguments that will be passed to INDEX-CREATE when creating a new slot index
    INDEX-READER   Accessor: INDEX-DIRECT-SLOT-DEFINITION-INDEX-READER
    Name of a function that will be created to query the slot index
    INDEX-VALUES   Accessor: INDEX-DIRECT-SLOT-DEFINITION-INDEX-VALUES
    Name of a function that will be created to get the values stored in the index
    INDEX-MAPVALUES   Accessor: INDEX-DIRECT-SLOT-DEFINITION-INDEX-MAPVALUES
    Name of a function that will be created to map over the values stored in the index
    INDEX-KEYS   Accessor: INDEX-DIRECT-SLOT-DEFINITION-INDEX-KEYS
    Name of a function that will be created to get the keys stored in the index
    INDEX-SUBCLASSES   Accessor: INDEX-DIRECT-SLOT-DEFINITION-INDEX-SUBCLASSES
    Specify if the slot index will also index subclasses of the class to which the slot belongs, default is T
    CLASS   Accessor: INDEX-DIRECT-SLOT-DEFINITION-CLASS
  • Class INDEX-EFFECTIVE-SLOT-DEFINITION  (STANDARD-EFFECTIVE-SLOT-DEFINITION)
    INDICES   Accessor: INDEX-EFFECTIVE-SLOT-DEFINITION-INDICES
  • Variable *INDEXED-CLASS-OVERRIDE*
    nil
  • Method CLEAR-CLASS-INDICES ((class indexed-class))
  • Method CLEAR-SLOT-INDICES ((slot index-effective-slot-definition))
  • Method CLASS-SLOT-INDICES ((class indexed-class) slot-name)
  • Method CLASS-SLOT-INDEX ((class indexed-class) slot-name)
  • Generic-Function DESTROY-OBJECT (object)
    Destroy the given object, and delete it from the indices.
  • Generic-Function DESTROY-OBJECT (object)
    Destroy the given object, and delete it from the indices.
  • Method DESTROY-OBJECT ((object t))
  • Method OBJECT-DESTROYED-P ((object t))
  • Function TREE-CATEGORIES (tree &optional category)
  • Function PARENT-CATEGORIES (category)
  • Function PARENT-CATEGORY (category)
  • Function TREE-FIND-CHILDREN (tree category)
  • Function TREE-FIND-SIBLINGS (tree category)
  • Class CATEGORY-INDEX  (HASH-INDEX)
    TREE   Accessor: CATEGORY-INDEX-TREE
  • Method INDEX-GET ((index category-index) category)
  • Method INDEX-ADD ((index category-index) object)
  • Method INDEX-REMOVE ((index category-index) object)
  • Method INDEX-KEYS ((index category-index))
  • Method INDEX-REINITIALIZE ((new-index category-index) (old-index category-index))

bknr.skip-list

Skiplist implementation for bknr

BKNR.SKIP-LIST

  • Class SKIP-LIST
    Skip-list class, access to elements is done through the header node.
    HEADER   Reader: SKIP-LIST-HEADER
    LENGTH   Accessor: SKIP-LIST-LENGTH
    LEVEL   Accessor: SKIP-LIST-LEVEL
  • Method SKIP-LIST-INSERT ((sl skip-list) key value)
    Insert VALUE under KEY in the skip-list. Replaces the existing node with KEY if present, or inserts a new node with random level.
  • Method SKIP-LIST-DELETE ((sl skip-list) key)
    Delete the node with KEY in the skip-list.
  • Method SKIP-LIST-GET (key (sl skip-list))
  • Method (setf SKIP-LIST-GET) (new-value key (sl skip-list))
  • Method SKIP-LIST-REMOVE (key (sl skip-list))
  • Method SKIP-LIST-SEARCH ((sl skip-list) key &optional not-found)
  • Class SKIP-LIST-CURSOR
    NODE   Accessor: SKIP-LIST-CURSOR-NODE
  • Method SL-CURSOR-NEXT ((slc skip-list-cursor) &optional eoc)
  • Method SL-CURSOR-PREV ((slc skip-list-cursor) &optional eoc)
  • Class SKIP-LIST-VALUE-CURSOR  (SKIP-LIST-CURSOR)
    No slots.
  • Method SL-CURSOR-NEXT ((slc skip-list-value-cursor) &optional eoc)
  • Class SKIP-LIST-KEY-CURSOR  (SKIP-LIST-CURSOR)
    No slots.
  • Method SL-CURSOR-NEXT ((slc skip-list-key-cursor) &optional eoc)
  • Method SKIP-LIST-CURSOR ((sl skip-list) &key cursor (class 'skip-list-cursor))
  • Method SKIP-LIST-VALUES-CURSOR ((sl skip-list))
  • Method SKIP-LIST-KEYS-CURSOR ((sl skip-list))
  • Class SKIP-LIST-RANGE-CURSOR  (SKIP-LIST-CURSOR)
    END   Reader: SLRC-END
  • Method SL-CURSOR-NEXT ((slc skip-list-range-cursor) &optional eoc)
  • Method SKIP-LIST-RANGE-CURSOR ((sl skip-list) start end)
  • Method MAP-SKIP-LIST (fun (sl skip-list))
  • Method MAP-SKIP-LIST-VALUES (fun (sl skip-list))

bknr.utils

baikonour - launchpad for lisp satellites

BKNR.STATISTICS

  • Function MAKE-STATISTICS-TABLE
  • Method NOTE-STATISTIC ((table statistics-table) name elapsed)
  • Method SHOW-STATISTICS ((table statistics-table))
  • Method CLEAR-STATISTICS ((table statistics-table))
  • Macro WITH-STATISTICS-LOG ((table &rest statistic-names) &rest body)

BKNR.UTILS

  • Function FORMAT-DATE-TIME (&optional universal-time &key stream (show-year t) (show-month t) (show-date t) (show-time t) (show-weekday nil) (show-seconds t) vms-style us-style mail-style xml-style js-style)
  • Function FORMAT-TIME-INTERVAL (seconds)
  • Function FORMAT-DURATION (duration)
  • Function MONTH-INTERVAL (month year)
    Returns two values, the first and last second of the given month
  • Function DAY-INTERVAL (day month year)
    Returns two values, the first and last second of the given day
  • Function YEAR-INTERVAL (year)
  • Function GET-HOURTIME (time)
  • Function GET-DAYTIME (time)
  • Function GET-MONTHTIME (time)
  • Function PREVIOUS-DAY (count &key (start (get-universal-time)))
  • Function NEXT-DAY (count &key (start (get-universal-time)))
  • Function MONTH-NUM-DAYS (month year)
  • Function TIMETAG
  • Function DAYTAG
  • Function RUN-SHELL-COMMAND-TO-STRING (control-string &rest args)
    Interpolate ARGS into CONTROL-STRING as if by FORMAT, and synchronously execute the result using a Bourne-compatible shell. Returns the output and the shell's exit code.
  • Function RUN-SHELL-COMMAND (command s)
  • Function HOSTNAME (&key (strip-domain t))
  • Function DIRECTORY-EMPTY-P (pathname)
  • Function SUBDIR-P (subdir dir)
  • Function MOVE-FILE (file1 file2)
  • Function MAKE-TEMPORARY-PATHNAME (&key (defaults nil) (name "tmp"))
  • Macro WITH-TEMPORARY-FILE ((var &rest args) &body body)
  • Function PARENT-DIRECTORY (pathname)
  • Function DELETE-FIRST (obj list &key (test #'eql))
  • Function MAKE-KEYWORD-FROM-STRING (string)
  • Function ASSOC-VALUES (item alist &key (test #'equal))
  • Function INSERT-AT-INDEX (idx l elt)
  • Function FIND-NEIGHBOURHOOD (elt list depth &key (test #'eql))
  • Function ASSOC-TO-KEYWORDS (args)
  • Function GROUP-BY (list num)
  • Function GROUP-ON (list &key (test #'eql) (key #'identity) (include-key t))
  • Function COUNT-MULTIPLE (objects &rest keys)
  • Function NROTATE (list)
  • Function GENLIST (from to)
  • Function SHIFT-UNTIL (list num &key (test #'>=))
  • Function FIND-ALL (item sequence &rest keyword-args &key (test #'eql) test-not &allow-other-keys)
    Find all those elements of sequence that match item, according to the keywords. Doesn't alter sequence.
  • Function HASH-TO-LIST (hash &key (key #'cdr) (compare #'>) num)
  • Function HASH-VALUES (hash)
  • Function HASH-KEYS (hash)
  • Function INCF-HASH (key hash &optional (delta 1))
  • Function RANDOMIZE-LIST (l)
  • Function RANDOM-ELTS (choices num)
  • Function HASH-TO-HEX (vector)
  • Function MD5-STRING (input-string)
  • Function PATHNAME-TYPE-SYMBOL (pathname)
  • Function IMAGE-CONTENT-TYPE (type-symbol)
    Return the MIME type of the image - If the type-symbol is a string, it is assumed that the string specifies the MIME type.
  • Function IMAGE-TYPE-SYMBOL (content-type)
  • Function PATHNAME-CONTENT-TYPE (pathname)
  • Function CONVERT-UTF8-TO-LATIN1 (string &key (ignore-errors t))
  • Function FIND-MATCHING-STRINGS (regexp strings &key case-sensitive)
  • Function MAKE-EXTENDABLE-STRING
    Creates a resizable string.
  • Function READ-DELIMITED (stream token)
    Reads stream up to delimiter.
  • Function READ-FILE (stream)
    Reads entire contents of stream into a string.
  • Function REMOVE-KEYS (keys args)
  • Function EVAL-INITARGS (initargs)
  • Function FILE-CONTENTS (pathname &key (element-type '(unsigned-byte 8)) (external-format :utf-8))
  • Function CLASS-SUBCLASSES (class)
    Return a list of the names of all subclasses of a given class.
  • Function SCALE-BYTES (byte-count)
  • Function SUBSEQ* (sequence start &optional end)
    Like SUBSEQ, but limit END to the length of SEQUENCE
  • Macro DEFINE-BKNR-CLASS (class (&rest superclasses) slots &rest class-options)
  • Condition SMB-PASSWORD-ERROR
  • Function SET-SMB-PASSWORD (username password &key (create t))
  • Class BKNR-ACTOR
    NAME   Accessor: BKNR-ACTOR-NAME
    PROCESS   Accessor: BKNR-ACTOR-PROCESS
  • Generic-Function RUN-FUNCTION (actor)
  • Method ACTOR-START ((actor bknr-actor))
  • Method ACTOR-RUNNING-P ((actor bknr-actor))
  • Method ACTOR-STOP ((actor bknr-actor))
  • Function WHITESPACE-CHAR-P (c)
  • Function WHITESPACE-P (c-or-s)
  • Function BKNR-READ-DELIMITED-LIST (s endchar &optional eof-error-p eof-value collect-whitespace)
  • Function BKNR-READ (s &optional (eof-error-p t) eof-value (collect-whitespace t))
  • Function STRING-BEGINNING-WITH-P (string beginning)
  • Function STRING-DELIMITED-BY-P (string char)
  • Function CRYPT-MD5 (pw salt)
  • Function VERIFY-MD5-PASSWORD (password saltpw)
  • Function MAKE-CAPABILITY-STRING
    return new unique capabilty as a string
  • Function MAKE-FDF-FILE (file-name &rest keys-and-values)
  • Function PARSE-TIME (time-string &key (start 0) (end (length time-string)) (error-on-mismatch nil) (patterns *default-date-time-patterns*) (default-seconds nil) (default-minutes nil) (default-hours nil) (default-day nil) (default-month nil) (default-year nil) (default-zone nil) (default-weekday nil))
    Tries very hard to make sense out of the argument time-string and returns a single integer representing the universal time if successful. If not, it returns nil. If the :error-on-mismatch keyword is true, parse-time will signal an error instead of returning nil. Default values for each part of the time/date can be specified by the appropriate :default- keyword. These keywords can be given a numeric value or the keyword :current to set them to the current value. The default-default values are 00:00:00 on the current date, current time-zone.
  • Function MP-MAKE-LOCK (&optional (name "anonymous"))
  • Macro MP-WITH-LOCK-HELD ((lock) &body body)
  • Macro MP-WITH-RECURSIVE-LOCK-HELD ((lock) &body body)

DATE-CALC

  • Variable *LANGUAGE*
    1
  • Function DECODE-DAY-OF-WEEK (str)
    Returns number of weekday. STR can partially name the Weekday. DOW is not CL conform.
  • Function CL-DECODE-DAY-OF-WEEK (str)
    Returns number of weekday. STR can partially name the Weekday. DOW is CL conform.
  • Function DECODE-MONTH (str)
    Returns number of month. STR can partially name the month. Computes a (search ...:test #'char-equal).
  • Function DECODE-LANGUAGE (num)
    Returns the Language of number NUM.
  • Function ISO-LC (char)
    Returns lower case CHAR.
  • Function ISO-UC (char)
    Returns upper case CHAR.
  • Function YEAR-TO-DAYS (year)
    Returns the number of days for YEAR since 1 Jan 1.
  • Function FIXED-WINDOW (year)
    Convert two digit YEAR to four digit YEAR; YEAR<=70 -> 2000+YEAR; YEAR<100&&>70 -> 1900+YEAR.
  • Function CENTER (string width)
    Return a string that is WIDTH long with STRING centered in it.
  • Function VALID-YEAR-P (year)
  • Function VALID-MONTH-P (month)
  • Function LEAP-YEAR (year)
    This function returns 1 if the given YEAR is a leap year and 0 otherwise.
  • Function LEAP-YEAR-P (year)
    This function returns t if the given YEAR is a leap year and nil otherwise.
  • Function DAYS-IN-MONTH (year month)
    This function returns the number of days in the given MONTH of the given YEAR.
  • Function DAYS-IN-YEAR (year &optional month)
    This function returns the number of days in the given YEAR and optional MONTH. If MONTH is [1..12], return the number of days in that YEAR as of the last of that MONTH.
  • Function CHECK-DATE (year month day)
    This function returns t if the given three numerical values YEAR MONTH DAY constitute a valid date, and nil otherwise.
  • Function CHECK-TIME-P (hour min sec)
    This function returns t if the given three numerical values HOUR MIN SEC constitute a valid time, and nil otherwise.
  • Function DAY-OF-YEAR (year month day)
    This function returns the sum of the number of days in the months starting with January up to and including MONTH in the given year YEAR. 0 on failure.
  • Function DATE-TO-DAYS (year month day)
    This function returns the (absolute) number of the day of the given date, where counting starts at the 1.Jan 1.
  • Function DAY-OF-WEEK (year month day)
    This function returns the DOW of YEAR MONTH DAY. DOW not CL conform.
  • Function CL-DAY-OF-WEEK (year month day)
    This function returns the DOW of YEAR MONTH DAY. DOW CL conform.
  • Function WEEKS-IN-YEAR (year)
    This function returns the number of weeks in the given YEAR, i.e., either 52 or 53.
  • Function CL-WEEKS-IN-YEAR (year)
    This function returns the number of weeks in the given YEAR for CL DOW conform numbering (Monday=0)., i.e., either 52 or 53.
  • Function CHECK-BUSINESS-P (year week dow)
    This function returns true if the given three numerical values YEAR WEEK DOW constitute a valid date in business format, and nil otherwise. Beware that this function does NOT compute whether a given date is a business day (i.e., Monday to Friday)! To do so, use (< (day-of-week year month day) 6) instead. DOW not CL conform.
  • Function CL-CHECK-BUSINESS-P (year week dow)
    This function returns true if the given three numerical values YEAR WEEK DOW constitute a valid date in business format for CL (Monday=0), and nil otherwise. DOW is CL conform.
  • Function DELTA-DAYS (year1 month1 day1 year2 month2 day2)
    This function returns the difference in days between Y1 M1 D1 and Y2 M2 D2.
  • Function WEEK-NUMBER (year month day)
    This function returns the number of the week of the given Y M D lies in. If the given date lies in the LAST week of the PREVIOUS year, 0 is returned.
  • Function WEEK-OF-YEAR (year month day)
    Return (values week year) where week is the week number of YEAR
  • Function ADD-DELTA-DAYS (year month day delta)
    This function returns (values year month day) such that it is YEAR MONTH DAY plus DELTA days
  • Function MONDAY-OF-WEEK (week year)
    Return (values year month day) where month and day correspond to the Monday of WEEK in YEAR
  • Function NTH-WEEKDAY-OF-MONTH-YEAR (year month dow n)
    This function returns the (year month day) of the N-th day of week DOW in the given MONTH and YEAR; such as, for example, the 3rd Thursday of a given month and year. DOW is not CL conform.
  • Function CL-NTH-WEEKDAY-OF-MONTH-YEAR (year month dow n)
    This function returns the (year month day) of the N-th day of week DOW in the given MONTH and YEAR; such as, for example, the 3rd Thursday of a given month and year. DOW is CL conform.
  • Function STANDARD-TO-BUSINESS (year month day)
    This function converts a given date from standard notation YEAR MONTH DAY to business notation year week dow. DOW is not CL conform.
  • Function CL-STANDARD-TO-BUSINESS (year month day)
    This function converts a given date from standard notation YEAR MONTH DAY to business notation year week day of week. DOW is CL conform.
  • Function BUSINESS-TO-STANDARD (year week dow)
    This function converts a given date from business notation YEAR WEEK DOW to standard notation year month day. DOW is not CL conform.
  • Function CL-BUSINESS-TO-STANDARD (year week dow)
    This function converts a given date from business notation YEAR WEEK DOW to standard notation year month day. DOW is CL conform.
  • Function DELTA-HMS (hour1 min1 sec1 hour2 min2 sec2)
    This function returns the difference of H1 M1 S1 and H2 M2 S2 in (values d h m s).
  • Function DELTA-DHMS (year1 month1 day1 hour1 min1 sec1 year2 month2 day2 hour2 min2 sec2)
    Returns the difference in (values d h m s) between the two given dates with times (Y1 M1 D1 H1 MIN1 SEC1 and Y2 M2 D2 H2 MIN2 SEC2).
  • Function DELTA-YMD (year1 month1 day1 year2 month2 day2)
    This function returns the difference (values YEAR MONTH DAYS) between the two dates Y1M1D1 and Y2M2D2.
  • Function DELTA-YMDHMS (year1 month1 day1 hour1 min1 sec1 year2 month2 day2 hour2 min2 sec2)
    This function returns the difference (values YEAR MONTH DAYS HOUR MINUTE SEC) between the two dates Y1 M1 D1 H1 MI1 S1 and Y2 M2 D2 H2 MI2 S2.
  • Function NORMALIZE-DHMS (day hour min sec)
    This function takes four arbitrary values for days, hours, minutes and seconds (which may have different signs) and renormalizes them so that the values for hours, minutes and seconds will lie in the ranges [-23..23], [-59..59] and [-59..59], respectively, and so that they have the same sign.
  • Function ADD-DELTA-DHMS (year month day hour min sec dd dh dm ds)
    This function serves to add a days, hours, minutes and seconds offset to a given date and time (YEAR MONTH DAY HOUR MINUTE SECOND DDAY DHOUR DMINUTE DSECOND), in order to answer questions like "today and now plus 7 days but minus 5 hours and then plus 30 minutes, what date and time gives that?". Returns: (values y m d h min sec)
  • Function ADD-YEAR-MONTH (year month dy dm)
    This function adds DYEAR and DMONTH offset to YEAR and MONTH.
  • Function ADD-DELTA-YM (year month day dy dm)
    This function adds DYEAR and DMONTH offset to YEAR MONTH DAY.
  • Function ADD-DELTA-YMD (year month day dy dm dd)
    This function adds DYEAR DMONTH and DDAY offset to YEAR MONTH DAY.
  • Function ADD-DELTA-YMDHMS (year month day hour min sec dyear dmonth dday dh dm ds)
    This function is the same as add-delta-ymd except that a time offset may be given in addition to the year, month and day offset
  • Function SYSTEM-CLOCK (gmt time)
    This function returns (values year month day hour min sec doy dow dst) based on current system clock. DOW is not CL conform.
  • Function CL-SYSTEM-CLOCK (gmt time)
    This function returns (values year month day hour min sec doy dow dst) based on current system clock. DOW is CL conform.
  • Function GMTIME
  • Function LOCALTIME
  • Function TODAY
    This function returns (year month day) for today.
  • Function YESTERDAY
  • Function TOMORROW
  • Function NOW
    This function returns (hour minute second) for right now.
  • Function TODAY-AND-NOW
    This function returns (year month day hour minute second) for the current date and time.
  • Function THIS-YEAR
    This function returns the current year in localtime.
  • Function DATE-TO-TEXT (year month day)
    Return a pretty print string of YEAR MONTH DAY in DOW-TXT(SHORT) DAY MONTH YEAR with a little bit of sorting for language.
  • Function DATE-TO-TEXT-LONG (year month day)
    Return a pretty print string of YEAR MONTH DAY in DOW-TXT(LONG) DAY MONTH YEAR with a little bit of sorting for language.

bknr.xml

baikonour - launchpad for lisp satellites

BKNR.XML

  • Function NODE-CHILDREN-NODES (xml)
  • Function FIND-CHILD (xml node-name)
  • Function FIND-CHILDREN (xml node-name)
  • Function NODE-STRING-BODY (xml)
  • Function NODE-ATTRIBUTE (xml attribute-name)
  • Function NODE-CHILD-STRING-BODY (xml node-name)
  • Function NODE-TO-HTML (node &optional (stream *standard-output*))