The rucksack Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The rucksack Reference Manual

This is the rucksack Reference Manual, version 0.1.21, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:32:35 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

1.1 rucksack

Version

0.1.21

Source

rucksack.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

2 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

2.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.1 rucksack.asd

Location

rucksack.asd

Systems

rucksack (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.2 rucksack/queue.lisp

Parent

rucksack (system)

Location

queue.lisp

Packages

queue

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.3 rucksack/package.lisp

Dependency

queue.lisp (file)

Parent

rucksack (system)

Location

package.lisp

Packages

rucksack


Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.4 rucksack/errors.lisp

Dependency

package.lisp (file)

Parent

rucksack (system)

Location

errors.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.5 rucksack/mop.lisp

Dependency

errors.lisp (file)

Parent

rucksack (system)

Location

mop.lisp

Exported Definitions

persistent-class (class)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.6 rucksack/serialize.lisp

Dependency

mop.lisp (file)

Parent

rucksack (system)

Location

serialize.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.7 rucksack/heap.lisp

Dependency

serialize.lisp (file)

Parent

rucksack (system)

Location

heap.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.8 rucksack/object-table.lisp

Dependency

heap.lisp (file)

Parent

rucksack (system)

Location

object-table.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.9 rucksack/schema-table.lisp

Dependency

object-table.lisp (file)

Parent

rucksack (system)

Location

schema-table.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.10 rucksack/garbage-collector.lisp

Dependency

schema-table.lisp (file)

Parent

rucksack (system)

Location

garbage-collector.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.11 rucksack/cache.lisp

Dependency

garbage-collector.lisp (file)

Parent

rucksack (system)

Location

cache.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.12 rucksack/objects.lisp

Dependency

cache.lisp (file)

Parent

rucksack (system)

Location

objects.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.13 rucksack/p-btrees.lisp

Dependency

objects.lisp (file)

Parent

rucksack (system)

Location

p-btrees.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.14 rucksack/index.lisp

Dependency

p-btrees.lisp (file)

Parent

rucksack (system)

Location

index.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.15 rucksack/rucksack.lisp

Dependency

index.lisp (file)

Parent

rucksack (system)

Location

rucksack.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

2.1.16 rucksack/transactions.lisp

Dependency

rucksack.lisp (file)

Parent

rucksack (system)

Location

transactions.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

2.1.17 rucksack/import-export.lisp

Dependency

transactions.lisp (file)

Parent

rucksack (system)

Location

import-export.lisp

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

3 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

3.1 queue

Source

queue.lisp (file)

Use List

common-lisp

Used By List

rucksack

Exported Definitions

Previous: , Up: Packages   [Contents][Index]

3.2 rucksack

Source

package.lisp (file)

Nickname

rs

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

4.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

4.1.1 Special variables

Special Variable: *rucksack*

The current rucksack (NIL if there is no open rucksack).

Package

rucksack

Source

objects.lisp (file)

Special Variable: *transaction*

The currently active transaction.

Package

rucksack

Source

rucksack.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

4.1.2 Macros

Macro: p-pop PLACE

Pop an item from the persistent list specified by PLACE.

Package

rucksack

Source

objects.lisp (file)

Macro: p-push ITEM PLACE

Push ITEM onto the persistent list specified by PLACE. Return the modified persistent list. ITEM is evaluated before place.

Package

rucksack

Source

objects.lisp (file)

Macro: rucksack-do-class (INSTANCE-VAR CLASS &key RUCKSACK ID-ONLY INCLUDE-SUBCLASSES) &body BODY

Evaluate BODY for each instance of CLASS, with INSTANCE-VAR successively bound to each instance. See the documentation of RUCKSACK-MAP-CLASS for more details.

Package

rucksack

Source

rucksack.lisp (file)

Macro: rucksack-do-slot (INSTANCE-VAR CLASS SLOT &rest ARGS &key RUCKSACK EQUAL MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER INCLUDE-SUBCLASSES) &body BODY

Evaluate BODY for each instance of CLASS where SLOT has the specified value. INSTANCE-VAR will be bound successively to each instance. See the documentation of RUCKSACK-MAP-SLOT for more details.

Package

rucksack

Source

rucksack.lisp (file)

Macro: with-cache (CACHE DIRECTORY &rest OPTIONS) &body BODY
Package

rucksack

Source

cache.lisp (file)

Macro: with-rucksack (RUCKSACK DIRECTORY &rest ARGS) &body BODY
Package

rucksack

Source

rucksack.lisp (file)

Macro: with-transaction (&rest ARGS &key RUCKSACK INHIBIT-GC &allow-other-keys) &body BODY
Package

rucksack

Source

rucksack.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

4.1.3 Functions

Function: add-class-index CLASS-DESIGNATOR &key ERRORP
Package

rucksack

Source

rucksack.lisp (file)

Function: add-slot-index CLASS-DESIGNATOR SLOT INDEX-SPEC &key ERRORP
Package

rucksack

Source

rucksack.lisp (file)

Function: cache OBJECT
Package

rucksack

Source

objects.lisp (file)

Function: close-rucksack RUCKSACK &key COMMIT
Package

rucksack

Source

rucksack.lisp (file)

Function: commit &key RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: current-rucksack ()
Package

rucksack

Source

objects.lisp (file)

Function: current-transaction ()
Package

rucksack

Source

transactions.lisp (file)

Function: define-index-spec NAME SPEC &key IF-EXISTS

NAME must be a keyword. SPEC must be an index spec. IF-EXISTS must be either :OVERWRITE (default) or :ERROR.

Package

rucksack

Source

index.lisp (file)

Function: find-index-spec NAME &key ERRORP
Package

rucksack

Source

index.lisp (file)

Function: internal-rucksack-error FORMAT-STRING &rest FORMAT-ARGS
Package

rucksack

Source

errors.lisp (file)

Function: make-index INDEX-SPEC UNIQUE-KEYS-P &key CLASS
Package

rucksack

Source

index.lisp (file)

Function: map-class-indexes FUNCTION
Package

rucksack

Source

rucksack.lisp (file)

Function: map-slot-indexes FUNCTION &key CLASS INCLUDE-SUBCLASSES
Package

rucksack

Source

rucksack.lisp (file)

Function: open-cache DIRECTORY &rest ARGS &key CLASS &allow-other-keys
Package

rucksack

Source

cache.lisp (file)

Function: open-heap PATHNAME &key CLASS RUCKSACK OPTIONS IF-EXISTS IF-DOES-NOT-EXIST
Package

rucksack

Source

heap.lisp (file)

Function: open-rucksack DIRECTORY-DESIGNATOR &rest ARGS &key CLASS IF-EXISTS IF-DOES-NOT-EXIST CACHE-CLASS CACHE-ARGS &allow-other-keys

Opens the rucksack in the directory designated by DIRECTORY-DESIGNATOR. :IF-DOES-NOT-EXIST can be either :CREATE (creates a new rucksack if the it does not exist; this is the default) or :ERROR (signals an error if the rucksack does not exist).
:IF-EXISTS can be either :OVERWRITE (loads the rucksack if it exists; this is the default), :SUPERSEDE (deletes the existing rucksack and creates a new empty rucksack) or :ERROR (signals an error if the rucksack exists).

Package

rucksack

Source

rucksack.lisp (file)

Function: p-caar OBJECT

The persistent equivalent of CAAR.

Package

rucksack

Source

objects.lisp (file)

Function: p-cadr OBJECT

The persistent equivalenet of CADR.

Package

rucksack

Source

objects.lisp (file)

Function: p-cdar OBJECT

The persistent equivalent of CDAR.

Package

rucksack

Source

objects.lisp (file)

Function: p-cddr OBJECT

The persistent equivalent of CDDR.

Package

rucksack

Source

objects.lisp (file)

Function: p-cons CAR CDR
Package

rucksack

Source

objects.lisp (file)

Function: p-last LIST &optional N

Returns the last persistent cons cell of a persistent list (or NIL if the list is empty).

Package

rucksack

Source

objects.lisp (file)

Function: p-list &rest OBJECTS
Package

rucksack

Source

objects.lisp (file)

Function: p-make-array DIMENSIONS &rest OPTIONS &key &allow-other-keys
Package

rucksack

Source

objects.lisp (file)

Function: p-mapc FUNCTION LIST
Package

rucksack

Source

objects.lisp (file)

Function: p-mapcar FUNCTION LIST
Package

rucksack

Source

objects.lisp (file)

Function: p-mapl FUNCTION LIST
Package

rucksack

Source

objects.lisp (file)

Function: p-maplist FUNCTION LIST
Package

rucksack

Source

objects.lisp (file)

Function: p-member-if PREDICATE LIST &key KEY
Package

rucksack

Source

objects.lisp (file)

Function: queue-add QUEUE OBJECT

Adds an object to the end of the queue.

Package

queue

Source

queue.lisp (file)

Function: queue-add-at-front QUEUE OBJECT
Package

queue

Source

queue.lisp (file)

Function: queue-clear QUEUE

Removes all elements from the queue (and returns the empty queue).

Package

queue

Source

queue.lisp (file)

Function: queue-empty-p QUEUE

Returns true if the queue is empty, otherwise nil.

Package

queue

Source

queue.lisp (file)

Function: queue-peek QUEUE &optional TYPE

Returns the first object in the queue that has the given type (and removes all objects from the queue before it). Returns NIL (and clears the entire queue) if there is no such object.

Package

queue

Source

queue.lisp (file)

Function: queue-remove QUEUE &key ERRORP

Returns the first (i.e. least recently added) element of the queue. If the queue is empty, it returns nil (when :ERRORP is nil) or signals an empty-queue-error (when :ERRORP is true).

Package

queue

Source

queue.lisp (file)

Function: remove-class-index CLASS-DESIGNATOR &key ERRORP
Package

rucksack

Source

rucksack.lisp (file)

Function: remove-slot-index CLASS-DESIGNATOR SLOT &key ERRORP
Package

rucksack

Source

rucksack.lisp (file)

Function: rollback &key RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: rucksack-error CLASS &rest ARGS
Package

rucksack

Source

errors.lisp (file)

Function: simple-rucksack-error FORMAT-STRING &rest FORMAT-ARGS
Package

rucksack

Source

errors.lisp (file)

Function: transaction-commit TRANSACTION &key RUCKSACK

Call transaction-commit-1 to do the real work.

Package

rucksack

Source

transactions.lisp (file)

Function: transaction-rollback TRANSACTION &key RUCKSACK
Package

rucksack

Source

transactions.lisp (file)

Function: transaction-start &rest ARGS &key RUCKSACK &allow-other-keys
Package

rucksack

Source

transactions.lisp (file)

Function: unwrap-persistent-list LIST

Converts a persistent list to a ’normal’ Lisp list.

Package

rucksack

Source

objects.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

4.1.4 Generic functions

Generic Function: add-rucksack-root OBJECT RUCKSACK

Adds an object to the root set of a rucksack.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: add-rucksack-root OBJECT (RUCKSACK standard-rucksack)
Generic Function: btree-delete BTREE KEY VALUE &key IF-DOES-NOT-EXIST

Removes an association from KEY to VALUE from a btree. IF-DOES-NOT-EXIST can be either :IGNORE (default) or :ERROR. If there is no association from KEY to VALUE and IF-DOES-NOT-EXIST is :ERROR, a BTREE-DELETION-ERROR is signaled.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: btree-delete (BTREE btree) KEY VALUE &key IF-DOES-NOT-EXIST
Generic Function: btree-delete-key BTREE KEY &key IF-DOES-NOT-EXIST

Removes KEY and all associated values from a btree. IF-DOES-NOT-EXIST can be either :IGNORE (default) or :ERROR.

For a btree with unique-keys that contains a value for KEY, this operation is identical to

(btree-delete btree key (btree-search btree key))

For a btree with non-unique keys, it’s identical to

(dolist (value (unwrap-persistent-list (btree-search btree key))) (btree-delete btree key value))

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: btree-delete-key (BTREE btree) KEY &key IF-DOES-NOT-EXIST
Generic Function: btree-error-btree CONDITION
Package

rucksack

Methods
Method: btree-error-btree (CONDITION btree-error)
Source

p-btrees.lisp (file)

Generic Function: btree-error-key CONDITION
Package

rucksack

Methods
Method: btree-error-key (CONDITION btree-deletion-error)
Source

p-btrees.lisp (file)

Method: btree-error-key (CONDITION btree-insertion-error)
Source

p-btrees.lisp (file)

Method: btree-error-key (CONDITION btree-search-error)
Source

p-btrees.lisp (file)

Generic Function: btree-error-value CONDITION
Package

rucksack

Methods
Method: btree-error-value (CONDITION btree-deletion-error)
Source

p-btrees.lisp (file)

Method: btree-error-value (CONDITION btree-insertion-error)
Source

p-btrees.lisp (file)

Generic Function: btree-insert BTREE KEY VALUE &key IF-EXISTS

Adds an association from KEY to VALUE to a btree.

IF-EXISTS can be either :OVERWRITE (default) or :ERROR.

If the btree has unique keys (see BTREE-UNIQUE-KEYS-P) and KEY is already associated with another (according to BTREE-VALUE=) value, the result depends on the IF-EXISTS option: if IF-EXISTS is :OVERWRITE, the old value is overwriten; if IF-EXISTS is :ERROR, a BTREE-KEY-ALREADY-PRESENT-ERROR is signaled.

For btrees with non-unique keys, the IF-EXISTS option is ignored and VALUE is just added to the list of values associated with KEY (unless VALUE is already associated with KEY; in that case nothing happens).

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: btree-insert (BTREE btree) KEY VALUE &key IF-EXISTS
Generic Function: btree-key-type OBJECT
Package

rucksack

Methods
Method: btree-key-type (BTREE btree)

The type of all keys.

Source

p-btrees.lisp (file)

Generic Function: btree-key< BTREE
Package

rucksack

Methods
Method: btree-key< (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: btree-key<= BTREE
Package

rucksack

Methods
Method: btree-key<= (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: btree-key= BTREE
Package

rucksack

Methods
Method: btree-key= (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: btree-key> BTREE
Package

rucksack

Methods
Method: btree-key> (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: btree-key>= BTREE
Package

rucksack

Methods
Method: btree-key>= (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: btree-max-node-size OBJECT
Package

rucksack

Methods
Method: btree-max-node-size (BTREE btree)

An integer specifying the preferred maximum number of keys per btree node.

Source

p-btrees.lisp (file)

Generic Function: btree-node-class OBJECT
Package

rucksack

Methods
Method: btree-node-class (BTREE btree)

automatically generated reader method

Source

p-btrees.lisp (file)

Generic Function: btree-nr-keys BTREE

Returns the number of keys in a btree.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: btree-nr-keys (BTREE btree)
Generic Function: btree-nr-values BTREE

Returns the number of values in a btree.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: btree-nr-values (BTREE btree)
Generic Function: btree-search BTREE KEY &key ERRORP DEFAULT-VALUE

Returns the value (or persistent list of values, for btrees that don’t have unique keys) associated with KEY. If the btree has non-unique keys and no value is found, the empty list is returned. If the btree has unique keys and no value is found, the result depends on the ERRORP option: if ERRORP is true, a btree-search-error is signalled; otherwise, DEFAULT-VALUE is returned.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: btree-search BTREE KEY &key ERRORP DEFAULT-VALUE
Generic Function: btree-unique-keys-p OBJECT
Package

rucksack

Methods
Method: btree-unique-keys-p (BTREE btree)

If false, one key can correspond to more than one value.
In that case, the values are assumed to be objects for which the function OBJECT-ID is defined (and returns a unique integer).

Source

p-btrees.lisp (file)

Generic Function: btree-value-type OBJECT
Package

rucksack

Methods
Method: btree-value-type (BTREE btree)

The type of all values.

Source

p-btrees.lisp (file)

Generic Function: btree-value= BTREE
Package

rucksack

Methods
Method: btree-value= (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: cache-commit CACHE

Makes sure that all changes to the cache are written to disk.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: cache-commit (CACHE standard-cache)
Generic Function: cache-count CACHE

Returns the number of objects (both dirty and non-dirty) in the cache.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: cache-count (CACHE standard-cache)
Generic Function: cache-create-object OBJECT CACHE

Adds a new object to the cache and returns an
object id that can be used to retrieve the object from the cache. Don’t use this function twice for the same object.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: cache-create-object OBJECT (CACHE standard-cache)
Generic Function: cache-get-object OBJECT-ID CACHE

Retrieves the object with the given id from the cache and returns that object.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: cache-get-object OBJECT-ID (CACHE standard-cache)
Generic Function: cache-recover CACHE

Undoes partially committed transactions to ensure that the cache is in a consistent state.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: cache-recover (CACHE standard-cache)
Generic Function: cache-rollback CACHE

Undoes all cache changes that were made since the last cache-commit.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: cache-rollback (CACHE standard-cache)
Generic Function: cache-size CACHE

Returns the number of non-dirty objects that the cache may keep in memory.

Package

rucksack

Source

cache.lisp (file)

Writer

(setf cache-size) (generic function)

Methods
Method: cache-size (STANDARD-CACHE standard-cache)

The maximum number of non-dirty objects that will be kept in the cache memory.

Generic Function: (setf cache-size) NEW-VALUE OBJECT
Package

rucksack

Reader

cache-size (generic function)

Methods
Method: (setf cache-size) NEW-VALUE (STANDARD-CACHE standard-cache)

The maximum number of non-dirty objects that will be kept in the cache memory.

Source

cache.lisp (file)

Generic Function: cache-touch-object OBJECT CACHE
Package

rucksack

Methods
Method: cache-touch-object OBJECT (CACHE standard-cache)

Checks for transaction conflicts and signals a transaction conflict if necessary. Change the object’s status to dirty. If the object is already dirty, nothing happens.

Source

cache.lisp (file)

Generic Function: close-cache CACHE &key COMMIT

Closes the cache. If COMMIT is true (which is the
default), the objects in the cache will be written to disk before closing the cache.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: close-cache (CACHE standard-cache) &key COMMIT
Generic Function: close-heap HEAP
Package

rucksack

Methods
Method: close-heap (HEAP mark-and-sweep-heap) after
Source

garbage-collector.lisp (file)

Method: close-heap (HEAP heap)
Source

heap.lisp (file)

Generic Function: close-transaction CACHE TRANSACTION

Removes a transaction from the set of open transactions.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: close-transaction (CACHE standard-cache) TRANSACTION
Generic Function: heap OBJECT
Package

rucksack

Methods
Method: heap (STANDARD-CACHE standard-cache)

automatically generated reader method

Source

cache.lisp (file)

Generic Function: heap-end HEAP

Returns the end of the heap.

Package

rucksack

Source

heap.lisp (file)

Writer

(setf heap-end) (generic function)

Methods
Method: heap-end (HEAP heap)

The end of the heap. For free-list heaps, this number
is stored in the first heap cell. For appending heaps, it’s stored in the end of the file.

Generic Function: (setf heap-end) VALUE HEAP

Modifies the end of the heap.

Package

rucksack

Source

heap.lisp (file)

Reader

heap-end (generic function)

Methods
Method: (setf heap-end) NEW-VALUE (HEAP heap)

The end of the heap. For free-list heaps, this number
is stored in the first heap cell. For appending heaps, it’s stored in the end of the file.

Method: (setf heap-end) END (HEAP appending-heap) after
Method: (setf heap-end) END (HEAP free-list-heap) after
Generic Function: heap-stream HEAP

Returns the heap’s stream.

Package

rucksack

Source

heap.lisp (file)

Writer

(setf heap-stream) (generic function)

Methods
Method: heap-stream (HEAP heap)

automatically generated reader method

Generic Function: (setf heap-stream) NEW-VALUE OBJECT
Package

rucksack

Reader

heap-stream (generic function)

Methods
Method: (setf heap-stream) NEW-VALUE (HEAP heap)

automatically generated writer method

Source

heap.lisp (file)

Generic Function: index-delete INDEX KEY VALUE &key IF-DOES-NOT-EXIST

Remove a key/value pair from an index. IF-DOES-NOT-EXIST can be either :IGNORE (default) or :ERROR.

Package

rucksack

Source

index.lisp (file)

Methods
Method: index-delete (INDEX index) KEY VALUE &key IF-DOES-NOT-EXIST
Generic Function: index-insert INDEX KEY VALUE &key IF-EXISTS

Insert a key/value pair into an index. IF-EXISTS can be either :OVERWRITE (default) or :ERROR.

Package

rucksack

Source

index.lisp (file)

Methods
Method: index-insert (INDEX index) KEY VALUE &key IF-EXISTS
Generic Function: map-btree BTREE FUNCTION &key MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER

Calls FUNCTION for all key/value associations in the btree where key is in the specified interval (this means that FUNCTION can be called with the same key more than once for btrees with non-unique keys). FUNCTION must be a binary function; the first argument is the btree key, the second argument is an associated value.

MIN, MAX, INCLUDE-MIN and INCLUDE-MAX specify the interval. The interval is left-open if MIN is nil, right-open if MAX is nil. The interval is inclusive on the left if INCLUDE-MIN is true (and exclusive on the left otherwise). The interval is inclusive on the right if INCLUDE-MAX is true (and exclusive on the right otherwise).

ORDER is either :ASCENDING (default) or :DESCENDING.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: map-btree (BTREE btree) FUNCTION &key MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER
Generic Function: map-btree-keys BTREE FUNCTION &key MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER

Calls FUNCTION for all keys in the btree where key is in the specified interval. FUNCTION must be a binary function; the first argument is the btree key, the second argument is the btree value (or persistent list of values, for btrees with non-unique keys). FUNCTION will be called exactly once for each key in the btree.

MIN, MAX, INCLUDE-MIN and INCLUDE-MAX specify the interval. The interval is left-open if MIN is nil, right-open if MAX is nil. The interval is inclusive on the left if INCLUDE-MIN is true (and exclusive on the left otherwise). The interval is inclusive on the right if INCLUDE-MAX is true (and exclusive on the right otherwise).

ORDER is either :ASCENDING (default) or :DESCENDING.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: map-btree-keys (BTREE btree) FUNCTION &key MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER
Generic Function: map-index INDEX FUNCTION &key EQUAL MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER

Calls FUNCTION for all key/value pairs in the btree
where key is in the specified interval. FUNCTION must be a binary function; the first argument is the index key, the second argument is the index value (or list of values, for indexes with non-unique keys).

If EQUAL is specified, the other arguments are ignored; the function will be called once (if there is a key with the same value as EQUAL) or not at all (if there is no such key).

MIN, MAX, INCLUDE-MIN and INCLUDE-MAX specify the interval. The interval is left-open if MIN is nil, right-open if MAX is nil. The interval is inclusive on the left if INCLUDE-MIN is true (and exclusive on the left otherwise). The interval is inclusive on the right if INCLUDE-MAX is true (and exclusive on the right otherwise).

ORDER is either :ASCENDING (default) or :DESCENDING.

Package

rucksack

Source

index.lisp (file)

Methods
Method: map-index (INDEX index) FUNCTION &rest ARGS &key MIN MAX INCLUDE-MIN INCLUDE-MAX EQUAL ORDER
Generic Function: map-rucksack-roots FUNCTION RUCKSACK

Applies a function to all objects in the root set of a rucksack.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: map-rucksack-roots FUNCTION (RUCKSACK standard-rucksack)
Generic Function: map-transactions CACHE FUNCTION

Applies a function to each open transaction in a cache.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: map-transactions (CACHE standard-cache) FUNCTION
Generic Function: object-id OBJECT

Returns the object id of a persistent-object or persistent-data.

Package

rucksack

Source

objects.lisp (file)

Methods
Method: object-id (PERSISTENT-OBJECT persistent-object)

automatically generated reader method

Method: object-id (PERSISTENT-DATA persistent-data)

automatically generated reader method

Method: object-id (PROXY proxy)

automatically generated reader method

Method: object-id (CONDITION transaction-conflict)
Source

errors.lisp (file)

Generic Function: open-transaction CACHE TRANSACTION

Adds a transaction to the set of open transactions.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: open-transaction (CACHE standard-cache) TRANSACTION
Generic Function: p-aref ARRAY &rest INDICES
Generic Function: (setf p-aref) NEW-VALUE ARRAY &rest INDICES
Package

rucksack

Methods
Method: p-aref (ARRAY persistent-array) &rest INDICES
Method: (setf p-aref) NEW-VALUE (ARRAY persistent-array) &rest INDICES
Source

objects.lisp (file)

Generic Function: p-array-dimensions ARRAY
Package

rucksack

Methods
Method: p-array-dimensions (ARRAY persistent-array)
Source

objects.lisp (file)

Generic Function: p-car CONS
Generic Function: (setf p-car) VALUE CONS
Package

rucksack

Methods
Method: p-car (X (eql nil))
Source

objects.lisp (file)

Method: p-car (CONS persistent-cons)
Method: (setf p-car) VALUE (CONS persistent-cons)
Source

objects.lisp (file)

Generic Function: p-cdr CONS
Generic Function: (setf p-cdr) VALUE CONS
Package

rucksack

Methods
Method: p-cdr (X (eql nil))
Source

objects.lisp (file)

Method: p-cdr (CONS persistent-cons)
Method: (setf p-cdr) VALUE (CONS persistent-cons)
Source

objects.lisp (file)

Generic Function: p-consp OBJECT
Package

rucksack

Methods
Method: p-consp OBJECT
Source

objects.lisp (file)

Method: p-consp (OBJECT persistent-cons)
Source

objects.lisp (file)

Generic Function: p-delete-if TEST LIST &key FROM-END START END COUNT KEY
Package

rucksack

Methods
Method: p-delete-if TEST (LIST persistent-cons) &key FROM-END START END COUNT KEY
Source

objects.lisp (file)

Generic Function: p-endp OBJECT
Package

rucksack

Methods
Method: p-endp OBJECT
Source

objects.lisp (file)

Method: p-endp (OBJECT persistent-cons)
Source

objects.lisp (file)

Method: p-endp (OBJECT (eql nil))
Source

objects.lisp (file)

Generic Function: p-eql X Y

The persistent equivalent of EQL.

Package

rucksack

Source

objects.lisp (file)

Methods
Method: p-eql (A persistent-object) (B persistent-data)
Method: p-eql (A persistent-data) (B persistent-object)
Method: p-eql (A persistent-object) (B persistent-object)
Method: p-eql (A persistent-data) (B persistent-data)
Method: p-eql A B
Generic Function: p-find VALUE VECTOR &key KEY TEST START END &allow-other-keys
Package

rucksack

Methods
Method: p-find VALUE (LIST (eql nil)) &key &allow-other-keys
Source

objects.lisp (file)

Method: p-find VALUE (LIST persistent-cons) &key KEY TEST START END
Source

objects.lisp (file)

Method: p-find VALUE (VECTOR persistent-array) &key KEY TEST START END
Source

objects.lisp (file)

Generic Function: p-length VECTOR
Package

rucksack

Methods
Method: p-length (LIST persistent-cons)
Source

objects.lisp (file)

Method: p-length (VECTOR persistent-array)
Source

objects.lisp (file)

Generic Function: p-position VALUE VECTOR &key KEY TEST START END
Package

rucksack

Methods
Method: p-position VALUE (LIST persistent-cons) &key KEY TEST START END
Source

objects.lisp (file)

Method: p-position VALUE (VECTOR persistent-array) &key KEY TEST START END
Source

objects.lisp (file)

Generic Function: p-replace VECTOR-1 VECTOR-2 &key START1 END1 START2 END2
Package

rucksack

Methods
Method: p-replace (VECTOR-1 persistent-array) (VECTOR-2 persistent-array) &key START1 END1 START2 END2
Source

objects.lisp (file)

Generic Function: queue OBJECT
Package

queue

Methods
Method: queue (STANDARD-CACHE standard-cache)

A queue of the ids of all non-dirty objects
that are currently in the cache memory. Whenever an object is retrieved (i.e. read), it’s added to the queue. If an object-id is in this queue, it is not necessarily in the OBJECTS hash-table.

Source

cache.lisp (file)

Generic Function: queue-size OBJECT
Package

queue

Methods
Method: queue-size (QUEUE queue)

automatically generated reader method

Source

queue.lisp (file)

Generic Function: rucksack CONDITION
Package

rucksack

Methods
Method: rucksack (PERSISTENT-OBJECT persistent-object)

automatically generated reader method

Source

objects.lisp (file)

Method: rucksack (PERSISTENT-DATA persistent-data)

automatically generated reader method

Source

objects.lisp (file)

Method: rucksack (PROXY proxy)

automatically generated reader method

Source

objects.lisp (file)

Method: rucksack (STANDARD-CACHE standard-cache)

Back pointer to the rucksack.

Source

cache.lisp (file)

Method: rucksack (GARBAGE-COLLECTOR garbage-collector)

automatically generated reader method

Source

garbage-collector.lisp (file)

Method: rucksack (CONDITION rucksack-error)
Source

errors.lisp (file)

Generic Function: rucksack-add-class-index RUCKSACK CLASS-DESIGNATOR &key ERRORP
Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-add-class-index (RUCKSACK standard-rucksack) CLASS &key ERRORP
Generic Function: rucksack-add-slot-index RUCKSACK CLASS-DESIGNATOR SLOT INDEX-SPEC UNIQUE-P &key ERRORP

Creates a new slot index for the slot designated by CLASS-DESIGNATOR and SLOT. The type of index is specified by INDEX-SPEC. Returns the new index. Signals an error if ERRORP is T and there already is an index for the designated slot.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-add-slot-index (RUCKSACK standard-rucksack) CLASS SLOT INDEX-SPEC UNIQUE-P &key ERRORP
Generic Function: rucksack-cache RUCKSACK

Returns the cache for a rucksack.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-cache (STANDARD-RUCKSACK standard-rucksack)

automatically generated reader method

Generic Function: rucksack-class-index RUCKSACK CLASS-DESIGNATOR &key ERRORP

Returns the class index for a class designator.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-class-index (RUCKSACK standard-rucksack) CLASS &key ERRORP
Generic Function: rucksack-commit RUCKSACK

Ensures that all in-memory data is saved to disk.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-commit (RUCKSACK standard-rucksack)
Generic Function: rucksack-delete-object RUCKSACK OBJECT

Removes OBJECT from RUCKSACK, i.e. removes object from the rucksack roots (if it is a root) and from all class and slot indexes in which it appears.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-delete-object (RUCKSACK standard-rucksack) OBJECT
Generic Function: rucksack-directory RUCKSACK

Returns a pathname for the directory that contains all files of a rucksack.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-directory (STANDARD-RUCKSACK standard-rucksack)

automatically generated reader method

Generic Function: rucksack-make-class-index RUCKSACK CLASS &key INDEX-SPEC

Creates a new class index and returns that index. INDEX-SPEC specifies the kind of index that must be created (if not supplied, the rucksack’s default class index spec will be used.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-make-class-index (RUCKSACK standard-rucksack) CLASS &key INDEX-SPEC
Generic Function: rucksack-map-class RUCKSACK CLASS FUNCTION &key ID-ONLY INCLUDE-SUBCLASSES

FUNCTION is a unary function that gets called for all instances of the specified class. Unindexed classes (i.e. classes for which the :indexed class option is nil) will be skipped.
If ID-ONLY is T (default is NIL), the function will be called with object ids instead of ’real’ objects. This can be handy if you want to do more filtering before actually loading objects from disk. INCLUDE-SUBCLASSES defaults to T.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-map-class (RUCKSACK standard-rucksack) CLASS FUNCTION &key ID-ONLY INCLUDE-SUBCLASSES
Generic Function: rucksack-map-class-indexes RUCKSACK FUNCTION

FUNCTION must take two arguments: a class name and a class index. It is called for all class indexes in the specified rucksack.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-map-class-indexes RUCKSACK FUNCTION
Generic Function: rucksack-map-slot RUCKSACK CLASS SLOT FUNCTION &key EQUAL MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER INCLUDE-SUBCLASSES

FUNCTION is a unary function that gets called for all instances of the specified class that have a slot value matching the EQUAL, MIN, MAX INCLUDE-MIN and INCLUDE-MAX arguments (see the documentation of MAP-INDEX for a description of these arguments).
ORDER can be either :ASCENDING (default) or :DESCENDING; currently, the specified order will be respected for instances of one class but not across subclasses.
If ID-ONLY is T (default is NIL), the function will be called with object ids instead of ’real’ objects. This can be handy if you want to do more filtering before actually loading objects from disk. INCLUDE-SUBCLASSES defaults to T.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-map-slot (RUCKSACK standard-rucksack) CLASS SLOT FUNCTION &key MIN MAX INCLUDE-MIN INCLUDE-MAX EQUAL ORDER INCLUDE-SUBCLASSES
Generic Function: rucksack-map-slot-indexes RUCKSACK FUNCTION &key CLASS INCLUDE-SUBCLASSES

FUNCTION must take three arguments: a class name, a slot name and a slot index. It is called for all slot indexes in the specified rucksack.
CLASS defaults to T, meaning all classes. INCLUDE-SUBCLASSES defaults to T.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-map-slot-indexes (RUCKSACK standard-rucksack) FUNCTION &key CLASS INCLUDE-SUBCLASSES
Generic Function: rucksack-maybe-index-changed-slot RUCKSACK CLASS OBJECT SLOT OLD-VALUE NEW-VALUE OLD-BOUNDP NEW-BOUNDP

This function is called after a slot has changed. OLD-VALUE is the slot’s value before the change, NEW-VALUE is the current value. OLD-BOUNDP is true iff the slot was bound before the change, NEW-BOUNDP is true iff the slot is currently bound.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-maybe-index-changed-slot (RUCKSACK standard-rucksack) CLASS OBJECT SLOT OLD-VALUE NEW-VALUE OLD-BOUNDP NEW-BOUNDP
Generic Function: rucksack-maybe-index-new-object RUCKSACK CLASS-DESIGNATOR OBJECT

Adds the object id of OBJECT to the class index for the class designated by CLASS-DESIGNATOR. If there is no such class index, it does nothing.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-maybe-index-new-object (RUCKSACK standard-rucksack) CLASS OBJECT
Generic Function: rucksack-remove-class-index RUCKSACK CLASS-DESIGNATOR &key ERRORP
Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-remove-class-index (RUCKSACK standard-rucksack) CLASS &key ERRORP
Generic Function: rucksack-remove-slot-index RUCKSACK CLASS-DESIGNATOR SLOT &key ERRORP
Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-remove-slot-index RUCKSACK CLASS SLOT &key ERRORP
Generic Function: rucksack-rollback RUCKSACK

....

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-rollback (RUCKSACK standard-rucksack)
Generic Function: rucksack-roots RUCKSACK

Returns a list with all objects in the root set of a rucksack. You shouldn’t modify this list.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-roots (RUCKSACK standard-rucksack)
Generic Function: rucksack-slot-index RUCKSACK CLASS-DESIGNATOR SLOT &key ERRORP INCLUDE-SUPERCLASSES

Returns the slot index for the slot specified by CLASS-DESIGNATOR and SLOT.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-slot-index (RUCKSACK standard-rucksack) CLASS SLOT &key ERRORP INCLUDE-SUPERCLASSES
Generic Function: transaction CONDITION
Package

rucksack

Methods
Method: transaction (CONDITION transaction-conflict)
Source

errors.lisp (file)

Generic Function: transaction-commit-1 TRANSACTION CACHE RUCKSACK

Save all modified objects to disk.

Package

rucksack

Source

transactions.lisp (file)

Methods
Method: transaction-commit-1 (TRANSACTION standard-transaction) (CACHE standard-cache) (RUCKSACK standard-rucksack)
Method: transaction-commit-1 (TRANSACTION standard-transaction) (CACHE standard-cache) (RUCKSACK serial-transaction-rucksack) after
Generic Function: transaction-id OBJECT
Package

rucksack

Methods
Method: transaction-id (STANDARD-TRANSACTION standard-transaction)

automatically generated reader method

Source

transactions.lisp (file)

Method: transaction-id (PERSISTENT-OBJECT persistent-object)

automatically generated reader method

Source

objects.lisp (file)

Method: transaction-id (PERSISTENT-DATA persistent-data)

automatically generated reader method

Source

objects.lisp (file)

Generic Function: transaction-start-1 CACHE RUCKSACK &key &allow-other-keys

Creates and returns a new transaction.

Package

rucksack

Source

transactions.lisp (file)

Methods
Method: transaction-start-1 (CACHE standard-cache) (RUCKSACK serial-transaction-rucksack) &key &allow-other-keys before
Method: transaction-start-1 (CACHE standard-cache) (RUCKSACK standard-rucksack) &key &allow-other-keys
Generic Function: update-persistent-instance-for-redefined-class INSTANCE ADDED-SLOTS DISCARDED-SLOTS PROPERTY-LIST &key
Package

rucksack

Source

objects.lisp (file)

Methods
Method: update-persistent-instance-for-redefined-class (INSTANCE persistent-object) ADDED-SLOTS DISCARDED-SLOTS PLIST &key

Next: , Previous: , Up: Exported definitions   [Contents][Index]

4.1.5 Conditions

Condition: btree-error ()
Package

rucksack

Source

p-btrees.lisp (file)

Direct superclasses

error (condition)

Direct subclasses
Direct methods

btree-error-btree (method)

Direct slots
Slot: btree
Initargs

:btree

Readers

btree-error-btree (generic function)

Condition: btree-insertion-error ()
Package

rucksack

Source

p-btrees.lisp (file)

Direct superclasses

btree-error (condition)

Direct subclasses

btree-key-already-present-error (condition)

Direct methods
Direct slots
Slot: key
Initargs

:key

Readers

btree-error-key (generic function)

Slot: value
Initargs

:value

Readers

btree-error-value (generic function)

Condition: btree-key-already-present-error ()
Package

rucksack

Source

p-btrees.lisp (file)

Direct superclasses

btree-insertion-error (condition)

Condition: btree-search-error ()
Package

rucksack

Source

p-btrees.lisp (file)

Direct superclasses

btree-error (condition)

Direct methods

btree-error-key (method)

Direct slots
Slot: key
Initargs

:key

Readers

btree-error-key (generic function)

Condition: btree-type-error ()
Package

rucksack

Source

p-btrees.lisp (file)

Direct superclasses
Condition: duplicate-slot-value ()
Package

rucksack

Source

errors.lisp (file)

Direct superclasses

slot-error (condition)

Direct methods
Direct slots
Slot: other-object
Initargs

:other-object

Readers

slot-error-other-object (generic function)

Condition: empty-queue-error ()
Package

queue

Source

queue.lisp (file)

Direct superclasses

error (condition)

Direct slots
Slot: queue
Initargs

:queue

Condition: internal-rucksack-error ()
Package

rucksack

Source

errors.lisp (file)

Direct superclasses
Direct methods

print-object (method)

Condition: rucksack-error ()
Package

rucksack

Source

errors.lisp (file)

Direct superclasses

error (condition)

Direct subclasses
Direct methods
  • print-object (method)
  • rucksack (method)
Direct slots
Slot: rucksack
Initargs

:rucksack

Initform

(quote (rucksack:current-rucksack))

Readers

rucksack (generic function)

Condition: simple-rucksack-error ()
Package

rucksack

Source

errors.lisp (file)

Direct superclasses
Direct methods

print-object (method)

Condition: slot-error ()
Package

rucksack

Source

errors.lisp (file)

Direct superclasses

rucksack-error (condition)

Direct subclasses

duplicate-slot-value (condition)

Direct methods
Direct slots
Slot: object
Initargs

:object

Readers

slot-error-object (generic function)

Slot: slot-name
Initargs

:slot-name

Readers

slot-error-name (generic function)

Slot: value
Initargs

:value

Readers

slot-error-value (generic function)

Condition: transaction-conflict ()
Package

rucksack

Source

errors.lisp (file)

Direct superclasses

rucksack-error (condition)

Direct methods
Direct slots
Slot: transaction
Initargs

:transaction

Initform

(quote (rucksack:current-transaction))

Readers

transaction (generic function)

Slot: old-transaction
Initargs

:old-transaction

Initform

(quote (error "old-transaction initarg required for transaction-conflict."))

Readers

old-transaction (generic function)

Slot: object-id
Initargs

:object-id

Initform

(quote (error "object-id initarg required for transaction-conflict."))

Readers

object-id (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

4.1.6 Classes

Class: btree ()
Package

rucksack

Source

p-btrees.lisp (file)

Direct superclasses

persistent-object (class)

Direct subclasses

set-btree (class)

Direct methods
Direct slots
Slot: key<
Initargs

:key<

Initform

(quote <)

Slot: value=

This is only used for btrees with non-unique keys.

Initargs

:value=

Initform

(quote rucksack:p-eql)

Slot: key-key

A unary function that is applied to a
btree key before comparing it to another key with a key comparison predicate like BTREE-KEY<.

Initargs

:key-key

Initform

(quote identity)

Readers

btree-key-key (generic function)

Slot: value-key

A unary function that is applied to a
btree value before comparing it to another value with the BTREE-VALUE= predicate.

Initargs

:value-key

Initform

(quote identity)

Readers

btree-value-key (generic function)

Slot: node-class
Initargs

:node-class

Initform

(quote rucksack::bnode)

Readers

btree-node-class (generic function)

Slot: max-node-size

An integer specifying the preferred maximum number of keys per btree node.

Initargs

:max-node-size

Initform

64

Readers

btree-max-node-size (generic function)

Slot: unique-keys-p

If false, one key can correspond to more than one value.
In that case, the values are assumed to be objects for which the function OBJECT-ID is defined (and returns a unique integer).

Initargs

:unique-keys-p

Initform

t

Readers

btree-unique-keys-p (generic function)

Slot: key-type

The type of all keys.

Initargs

:key-type

Initform

t

Readers

btree-key-type (generic function)

Slot: value-type

The type of all values.

Initargs

:value-type

Initform

t

Readers

btree-value-type (generic function)

Slot: root
Readers

btree-root (generic function)

Writers

(setf btree-root) (generic function)

Class: cache ()
Package

rucksack

Source

cache.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

standard-cache (class)

Direct methods
Class: free-list-heap ()

This heap uses a ’segregated free list’ system: the
first list contains 16-octet blocks (including the header), the second list contains 32-octet blocks, the third has 64-octet blocks, etc. When there are N free lists, the last is for blocks of 16*2^(N-1) octets.

Each block starts with an 8-octet header. If a block is in use, the header contains the block’s size. If a block is still free, the header contains a pointer to the next block on the same free list.

Package

rucksack

Source

heap.lisp (file)

Direct superclasses

heap (class)

Direct subclasses
Direct methods
Direct slots
Slot: nr-free-lists
Initargs

:nr-free-lists

Initform

32

Readers

nr-free-lists (generic function)

Slot: starts

An array with the starts of each free-list. This
is an in-memory version of the array that’s in the beginning of the heap.

Slot: min-block-size

The size of the smallest blocks. This must be a power of 2.

Initargs

:min-block-size

Initform

16

Readers

min-block-size (generic function)

Slot: expansion-size

The minimum number of bytes that will be used to expand a free-list.

Initargs

:expansion-size

Initform

(* 32 1024)

Readers

expansion-size (generic function)

Class: heap ()
Package

rucksack

Source

heap.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: stream
Initargs

:stream

Readers

heap-stream (generic function)

Writers

(setf heap-stream) (generic function)

Slot: cell-buffer
Initform

(make-array rucksack::+pointer-size+ :element-type (quote (unsigned-byte 8)))

Readers

cell-buffer (generic function)

Slot: end

The end of the heap. For free-list heaps, this number
is stored in the first heap cell. For appending heaps, it’s stored in the end of the file.

Readers

heap-end (generic function)

Writers

(setf heap-end) (generic function)

Slot: max-size

The maximum size (in octets) for the heap.
If nil, the heap is allowed to expand indefinitely.

Initargs

:max-size

Readers

max-heap-size (generic function)

Writers

(setf max-heap-size) (generic function)

Slot: nr-allocated-octets

The number of octets that have been
allocated by ALLOCATE-BLOCK since the last time that RESET-ALLOCATION-COUNTER was called.

Initform

0

Readers

nr-allocated-octets (generic function)

Writers

(setf nr-allocated-octets) (generic function)

Class: mark-and-sweep-heap ()
Package

rucksack

Source

garbage-collector.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: nr-object-bytes-marked
Initform

0

Readers

nr-object-bytes-marked (generic function)

Writers

(setf nr-object-bytes-marked) (generic function)

Slot: nr-heap-bytes-scanned
Initform

0

Readers

nr-heap-bytes-scanned (generic function)

Writers

(setf nr-heap-bytes-scanned) (generic function)

Slot: nr-heap-bytes-sweeped
Initform

0

Readers

nr-heap-bytes-sweeped (generic function)

Writers

(setf nr-heap-bytes-sweeped) (generic function)

Slot: nr-object-bytes-sweeped
Initform

0

Readers

nr-object-bytes-sweeped (generic function)

Writers

(setf nr-object-bytes-sweeped) (generic function)

Slot: max-heap-end

The maximum acceptable value for heap-end during the current garbage collection.

Readers

max-heap-end (generic function)

Writers

(setf max-heap-end) (generic function)

Slot: grow-size

Specifies a minimum amount to grow the heap when it needs to grow. If ’grow size’ is an integer, the expected growth rate is additive and the integer is the number of octets to add; if it is a float, the expected growth rate for the heap is multiplicative and the float is the ratio of the new size to the old size. (The actual size might be rounded up.)

Initargs

:grow-size

Readers

grow-size (generic function)

Writers

(setf grow-size) (generic function)

Class: persistent-array ()
Package

rucksack

Source

objects.lisp (file)

Direct superclasses

persistent-data (class)

Direct methods
Class: persistent-class ()
Package

rucksack

Source

mop.lisp (file)

Direct superclasses

standard-class (class)

Direct methods
Direct slots
Slot: persistent-slots
Initform

(quote nil)

Readers

class-persistent-slots (generic function)

Writers

(setf class-persistent-slots) (generic function)

Slot: index

Can be either NIL (for no class index) or T
(for the standard class index). Default value is NIL.

Initargs

:index

Slot: changed-p

True iff the class definition was changed
but the schemas haven’t been updated yet. This flag is necessary because some MOP implementations don’t call FINALIZE-INHERITANCE when a class was redefined and a new instance of the redefined class is created.

Readers

class-changed-p (generic function)

Writers

(setf class-changed-p) (generic function)

Class: persistent-cons ()
Package

rucksack

Source

objects.lisp (file)

Direct superclasses

persistent-data (class)

Direct methods
Class: persistent-data ()

PERSISTENT-DATA classes do not have PERSISTENT-CLASS as metaclass because we don’t want to specialize SLOT-VALUE-USING-CLASS & friends for persistent-data instances. Their contents are accessed by special functions like P-CAR instead.

Package

rucksack

Source

objects.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: object-id
Initargs

:object-id

Readers

object-id (generic function)

Slot: transaction-id
Readers

transaction-id (generic function)

Slot: rucksack
Initargs

:rucksack

Initform

(rucksack:current-rucksack)

Readers

rucksack (generic function)

Slot: contents
Initargs

:contents

Readers

contents (generic function)

Writers

(setf contents) (generic function)

Class: persistent-object ()

Classes of metaclass PERSISTENT-CLASS automatically inherit from this class.

Package

rucksack

Source

objects.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: object-id
Initargs

:object-id

Readers

object-id (generic function)

Slot: transaction-id
Readers

transaction-id (generic function)

Slot: rucksack
Initargs

:rucksack

Readers

rucksack (generic function)

Direct Default Initargs
InitargValue
:rucksackrucksack:*rucksack*
Class: queue ()
Package

queue

Source

queue.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: end
Slot: contents
Initform

(quote nil)

Slot: size
Initform

0

Readers

queue-size (generic function)

Class: rucksack ()
Package

rucksack

Source

rucksack.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

standard-rucksack (class)

Direct methods

print-object (method)

Class: simple-free-list-heap ()

All blocks in a simple free list heap have the same size.

Package

rucksack

Source

heap.lisp (file)

Direct superclasses

free-list-heap (class)

Direct subclasses

object-table (class)

Direct methods

block-size (method)

Direct Default Initargs
InitargValue
:nr-free-lists1
:min-block-size16
Class: standard-cache ()
Package

rucksack

Source

cache.lisp (file)

Direct superclasses

cache (class)

Direct subclasses

lazy-cache (class)

Direct methods
Direct slots
Slot: heap
Initargs

:heap

Readers

heap (generic function)

Slot: schema-table
Initargs

:schema-table

Readers

schema-table (generic function)

Slot: rucksack

Back pointer to the rucksack.

Initargs

:rucksack

Readers

rucksack (generic function)

Slot: objects

A hash-table (from id to object)
containing the youngest committed version of all objects that are currently kept in memory but are not dirty. (’The youngest version’ means the version belonging to the youngest committed transaction.)

Initargs

:objects

Readers

objects (generic function)

Slot: queue

A queue of the ids of all non-dirty objects
that are currently in the cache memory. Whenever an object is retrieved (i.e. read), it’s added to the queue. If an object-id is in this queue, it is not necessarily in the OBJECTS hash-table.

Initform

(make-instance (quote queue:queue))

Readers

queue (generic function)

Slot: last-timestamp
Initform

(get-universal-time)

Readers

last-timestamp (generic function)

Writers

(setf last-timestamp) (generic function)

Slot: transaction-id-helper
Initform

-1

Readers

transaction-id-helper (generic function)

Writers

(setf transaction-id-helper) (generic function)

Slot: transactions

A mapping from transaction ids to
transactions. Contains only open transactions, i.e. transactions that haven’t been rolled back or committed.

Initform

(make-hash-table)

Readers

transactions (generic function)

Slot: size

The maximum number of non-dirty objects that will be kept in the cache memory.

Initargs

:size

Readers

cache-size (generic function)

Writers

(setf cache-size) (generic function)

Slot: shrink-ratio

A number between 0 and 1. When the
cache is full, i.e. when there are at least SIZE (non-dirty) objects in the queue, it will be shrunk by removing (1 - SHRINK-RATIO) * SIZE objects.

Initargs

:shrink-ratio

Initform

0.7

Readers

cache-shrink-ratio (generic function)

Writers

(setf cache-shrink-ratio) (generic function)

Class: standard-rucksack ()
Package

rucksack

Source

rucksack.lisp (file)

Direct superclasses

rucksack (class)

Direct subclasses

serial-transaction-rucksack (class)

Direct methods
Direct slots
Slot: cache
Readers

rucksack-cache (generic function)

Slot: directory
Initargs

:directory

Readers

rucksack-directory (generic function)

Slot: roots

A list with the object ids of all root
objects, i.e. the objects from which the garbage collector can reach all live objects.

Initform

(quote nil)

Slot: roots-changed-p
Readers

roots-changed-p (generic function)

Writers

(setf roots-changed-p) (generic function)

Slot: highest-transaction-id

The highest transaction ID
in the entire rucksack. This is saved together with the roots.

Type

integer

Initform

0

Readers

highest-transaction-id (generic function)

Writers

(setf highest-transaction-id) (generic function)

Slot: class-index-table

The object id of a btree mapping class names to
class indexes. Each class index contains the ids of all instances from a class; it maps object ids to objects.

Slot: slot-index-tables

The object id of a btree mapping class names to
slot index tables, where each slot index table is a btree mapping slot names to slot indexes. Each slot index maps slot values to objects.

Class: standard-transaction ()
Package

rucksack

Source

transactions.lisp (file)

Direct superclasses

transaction (class)

Direct methods
Direct slots
Slot: id
Initargs

:id

Readers

transaction-id (generic function)

Slot: dirty-objects

A hash-table (from id to object)
containing all objects of which the slot changes have not been written to disk yet.

Initargs

:dirty-objects

Initform

(make-hash-table)

Readers

dirty-objects (generic function)

Slot: dirty-queue

A queue with the ids of all objects
that have been created or modified since the last commit. The queue is in least-recently-dirtied-first order. During a commit, the objects are written to disk in the same order (this is necessary to guarantee that the garbage collector never sees an id of an object that doesn’t exist on disk yet.

Initargs

:dirty-queue

Initform

(make-instance (quote queue:queue))

Readers

dirty-queue (generic function)

Class: transaction ()
Package

rucksack

Source

transactions.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

standard-transaction (class)

Direct methods

print-object (method)


Previous: , Up: Definitions   [Contents][Index]

4.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

4.2.1 Constants

Constant: +array+
Package

rucksack

Source

serialize.lisp (file)

Constant: +base-char+
Package

rucksack

Source

serialize.lisp (file)

Constant: +character+
Package

rucksack

Source

serialize.lisp (file)

Constant: +character-16+
Package

rucksack

Source

serialize.lisp (file)

Constant: +character-24+
Package

rucksack

Source

serialize.lisp (file)

Constant: +character-32+
Package

rucksack

Source

serialize.lisp (file)

Constant: +character-8+
Package

rucksack

Source

serialize.lisp (file)

Constant: +complex+
Package

rucksack

Source

serialize.lisp (file)

Constant: +cons+
Package

rucksack

Source

serialize.lisp (file)

Constant: +dead-object+
Package

rucksack

Source

serialize.lisp (file)

Constant: +dotted-list+
Package

rucksack

Source

serialize.lisp (file)

Constant: +double-float+
Package

rucksack

Source

serialize.lisp (file)

Constant: +extended-char+
Package

rucksack

Source

serialize.lisp (file)

Constant: +extension-0+
Package

rucksack

Source

serialize.lisp (file)

Constant: +float+
Package

rucksack

Source

serialize.lisp (file)

Constant: +free-block+
Package

rucksack

Source

serialize.lisp (file)

Constant: +hash-table+
Package

rucksack

Source

serialize.lisp (file)

Constant: +ignore+

This marker is automatically skipped when read. Handy if you need fixed width fields.

Package

rucksack

Source

serialize.lisp (file)

Constant: +illegal-marker+

This should never be read as a marker.

Package

rucksack

Source

serialize.lisp (file)

Constant: +keyword+
Package

rucksack

Source

serialize.lisp (file)

Constant: +live-object+
Package

rucksack

Source

serialize.lisp (file)

Constant: +long-float+
Package

rucksack

Source

serialize.lisp (file)

Constant: +minus-one+
Package

rucksack

Source

serialize.lisp (file)

Constant: +negative-byte-16+
Package

rucksack

Source

serialize.lisp (file)

Constant: +negative-byte-24+
Package

rucksack

Source

serialize.lisp (file)

Constant: +negative-byte-32+
Package

rucksack

Source

serialize.lisp (file)

Constant: +negative-byte-48+
Package

rucksack

Source

serialize.lisp (file)

Constant: +negative-byte-64+
Package

rucksack

Source

serialize.lisp (file)

Constant: +negative-byte-8+
Package

rucksack

Source

serialize.lisp (file)

Constant: +negative-integer+
Package

rucksack

Source

serialize.lisp (file)

Constant: +nil+
Package

rucksack

Source

serialize.lisp (file)

Constant: +nr-object-info-octets+
Package

rucksack

Source

object-table.lisp (file)

Constant: +nr-object-position-octets+
Package

rucksack

Source

object-table.lisp (file)

Constant: +object+
Package

rucksack

Source

serialize.lisp (file)

Constant: +one+
Package

rucksack

Source

serialize.lisp (file)

Constant: +p-object+

The serialization marker for cached objects.

Package

rucksack

Source

objects.lisp (file)

Constant: +package+
Package

rucksack

Source

serialize.lisp (file)

Constant: +pathname+
Package

rucksack

Source

serialize.lisp (file)

Constant: +pointer-size+

The number of octets for a heap pointer. A heap pointer is a number that must be able to span the entire heap. It is used for block sizes, pointers to other blocks, object ids and object heap positions.

Package

rucksack

Source

heap.lisp (file)

Constant: +positive-byte-16+
Package

rucksack

Source

serialize.lisp (file)

Constant: +positive-byte-24+
Package

rucksack

Source

serialize.lisp (file)

Constant: +positive-byte-32+
Package

rucksack

Source

serialize.lisp (file)

Constant: +positive-byte-48+
Package

rucksack

Source

serialize.lisp (file)

Constant: +positive-byte-64+
Package

rucksack

Source

serialize.lisp (file)

Constant: +positive-byte-8+
Package

rucksack

Source

serialize.lisp (file)

Constant: +positive-integer+
Package

rucksack

Source

serialize.lisp (file)

Constant: +proper-list+
Package

rucksack

Source

serialize.lisp (file)

Constant: +rational+
Package

rucksack

Source

serialize.lisp (file)

Constant: +reserved-object+

Used for entries in the object table that belong to objects that haven’t been committed to disk yet.

Package

rucksack

Source

serialize.lisp (file)

Constant: +shared-object-definition+
Package

rucksack

Source

serialize.lisp (file)

Constant: +shared-object-reference+
Package

rucksack

Source

serialize.lisp (file)

Constant: +short-float+
Package

rucksack

Source

serialize.lisp (file)

Constant: +simple-string+
Package

rucksack

Source

serialize.lisp (file)

Constant: +simple-string-16+
Package

rucksack

Source

serialize.lisp (file)

Constant: +simple-string-24+
Package

rucksack

Source

serialize.lisp (file)

Constant: +simple-string-32+
Package

rucksack

Source

serialize.lisp (file)

Constant: +simple-string-8+
Package

rucksack

Source

serialize.lisp (file)

Constant: +single-float+
Package

rucksack

Source

serialize.lisp (file)

Constant: +string+
Package

rucksack

Source

serialize.lisp (file)

Constant: +string-16+
Package

rucksack

Source

serialize.lisp (file)

Constant: +string-24+
Package

rucksack

Source

serialize.lisp (file)

Constant: +string-32+
Package

rucksack

Source

serialize.lisp (file)

Constant: +string-8+
Package

rucksack

Source

serialize.lisp (file)

Constant: +struct+
Package

rucksack

Source

serialize.lisp (file)

Constant: +struct-definition+
Package

rucksack

Source

serialize.lisp (file)

Constant: +structure-object+
Package

rucksack

Source

serialize.lisp (file)

Constant: +symbol+
Package

rucksack

Source

serialize.lisp (file)

Constant: +symbol-reference+
Package

rucksack

Source

serialize.lisp (file)

Constant: +t+
Package

rucksack

Source

serialize.lisp (file)

Constant: +two+
Package

rucksack

Source

serialize.lisp (file)

Constant: +unbound-slot+
Package

rucksack

Source

serialize.lisp (file)

Constant: +uninterned-symbol+
Package

rucksack

Source

serialize.lisp (file)

Constant: +zero+
Package

rucksack

Source

serialize.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

4.2.2 Special variables

Special Variable: *cache*
Package

rucksack

Source

cache.lisp (file)

Special Variable: *collect-garbage-on-commit*

A flag to indicate whether or not transaction-commit collects garbage

Package

rucksack

Source

garbage-collector.lisp (file)

Special Variable: *default-buffer-size*

The number of octets that are allocated initially for a buffer.

Package

rucksack

Source

heap.lisp (file)

Special Variable: *dont-dereference-proxies*
Package

rucksack

Source

objects.lisp (file)

Special Variable: *index-specs*
Package

rucksack

Source

index.lisp (file)

Special Variable: *initial-heap-size*

The default initial heap size is 10 MB.

Package

rucksack

Source

garbage-collector.lisp (file)

Special Variable: *initializing-instance*
Package

rucksack

Source

objects.lisp (file)

Special Variable: *rucksack-opening-lock*
Package

rucksack

Source

rucksack.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

4.2.3 Macros

Macro: with-allocation-counter (HEAP) &body BODY
Package

rucksack

Source

heap.lisp (file)

Macro: with-lock (LOCK) &body BODY
Package

rucksack

Source

rucksack.lisp (file)

Macro: without-rucksack-gcing &body BODY
Package

rucksack

Source

transactions.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

4.2.4 Functions

Function: add-and-fill-slot-index RUCKSACK CLASS SLOT INDEX-SPEC UNIQUE-P
Package

rucksack

Source

rucksack.lisp (file)

Function: add-rucksack-root-id OBJECT-ID RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: analyze-list X

Returns two values. The first value is one of :PROPER-LIST, :DOTTED-LIST or :CIRCULAR-LIST. The second value is the length of the list. For dotted lists, the final item is included in the length; for circular lists, the length is NIL.

Package

rucksack

Source

serialize.lisp (file)

Function: biggest-key NODE

Returns the biggest key in this node or any of its subnodes.

Package

rucksack

Source

p-btrees.lisp (file)

Function: binding-key INSTANCE
Function: (setf binding-key) VALUE INSTANCE
Package

rucksack

Source

p-btrees.lisp (file)

Function: binding-p OBJECT
Package

rucksack

Source

p-btrees.lisp (file)

Function: binding-value INSTANCE
Function: (setf binding-value) VALUE INSTANCE
Package

rucksack

Source

p-btrees.lisp (file)

Function: block-to-object-id BLOCK OBJECT-TABLE
Package

rucksack

Source

object-table.lisp (file)

Function: btree-as-cons BTREE
Package

rucksack

Source

p-btrees.lisp (file)

Function: check-bnode-keys TREE NODE

Check a btree node (and its descendants) for consistency. This is only used for debugging.

Package

rucksack

Source

p-btrees.lisp (file)

Function: check-btree BTREE
Package

rucksack

Source

p-btrees.lisp (file)

Function: check-node BTREE NODE
Package

rucksack

Source

p-btrees.lisp (file)

Function: check-p-vector PERSISTENT-ARRAY FUNCTION-NAME
Package

rucksack

Source

objects.lisp (file)

Function: close-object-table OBJECT-TABLE
Package

rucksack

Source

object-table.lisp (file)

Function: close-schema-table TABLE &key COMMIT
Package

rucksack

Source

schema-table.lisp (file)

Function: close-serializer SERIALIZER &key ABORT
Package

rucksack

Source

serialize.lisp (file)

Function: commit-filename CACHE
Package

rucksack

Source

cache.lisp (file)

Function: compare-slots OLD-SLOTS SLOTS

Returns three values: a list of added slots, a list of discarded slots and a list of changed (according to SLOT-DEFINITION-EQUAL) slots.

Package

rucksack

Source

mop.lisp (file)

Function: copy-binding INSTANCE
Package

rucksack

Source

p-btrees.lisp (file)

Function: copy-slot-definition SLOT-DEF
Package

rucksack

Source

mop.lisp (file)

Function: create-commit-file TRANSACTION CACHE

Write object ids of all dirty objects to the commit file, so recovery can do its job if this transaction never completes.

Package

rucksack

Source

transactions.lisp (file)

Function: delete-commit-file TRANSACTION CACHE
Package

rucksack

Source

transactions.lisp (file)

Function: delete-object-id OBJECT-TABLE OBJECT-ID

Returns object-id’s cell to the free-list.

Package

rucksack

Source

object-table.lisp (file)

Function: deserialize SERIALIZER &optional EOF-ERROR-P EOF-VALUE

Reads the next object from the serializer stream. Signals an end-of-file error or returns EOF-VALUE when the end of the stream is reached.

Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-byte-16 STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-byte-24 STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-byte-32 STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-byte-48 STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-byte-64 STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-dotted-list STREAM

Serializes a dotted list by first serializing its length and then all the elements of the list.

Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-list STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: deserialize-string SIMPLE-P CHARACTER-CODE-READER STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: display-node NODE
Package

rucksack

Source

p-btrees.lisp (file)

Function: distribute-elements BTREE LEFT-NODE RIGHT-NODE PARENT

One of LEFT-NODE and RIGHT-NODE doesn’t have enough elements, but the union of both has enough elements for two nodes, so we redistribute the elements between the two nodes.

Package

rucksack

Source

p-btrees.lisp (file)

Function: enlarge-node BTREE NODE PARENT-STACK
Package

rucksack

Source

p-btrees.lisp (file)

Function: find-committed-object-version OBJECT-ID CURRENT-TRANSACTION-ID HEAP

Returns the buffer, id, nr-slots and schema-id of the object containing the compatible version for the given transaction id. The buffer points to the first octet after the standard object fields. As a fifth value, it returns a boolean that’s true when the object version is the most recent committed object version (i.e. in the head of the object version list).

Package

rucksack

Source

objects.lisp (file)

Function: find-key-in-node BTREE NODE KEY

Tries to find a binding with the given key in a bnode. If it succeeds, it returns the binding (and, as a second value, the position of that binding). Otherwise it returns NIL.

Package

rucksack

Source

p-btrees.lisp (file)

Function: find-object-version OBJECT-ID CURRENT-TRANSACTION CACHE

Returns the object version for OBJECT-ID that’s compatible with CURRENT-TRANSACTION, or NIL if there’s no such version in the cache memory.

Package

rucksack

Source

cache.lisp (file)

Function: find-old-index-spec SLOT-NAME OLD-SLOTS
Package

rucksack

Source

rucksack.lisp (file)

Function: find-subnode BTREE NODE KEY

Returns the subnode that contains more information for the given key.

Package

rucksack

Source

p-btrees.lisp (file)

Function: find-value-in-node BTREE NODE VALUE &key TEST

Tries to find a binding with the given value in a bnode. If it succeeds, it returns the binding (and, as a second value, the position of that binding). Otherwise it returns NIL.

Package

rucksack

Source

p-btrees.lisp (file)

Function: force-serializer-output SERIALIZER
Package

rucksack

Source

serialize.lisp (file)

Function: free-list-pointer SIZE-CLASS

Returns a pointer to the cell containing the free list start.

Package

rucksack

Source

heap.lisp (file)

Function: import-rucksack PATHNAME DIRECTORY-DESIGNATOR &rest ARGS &key IF-EXISTS &allow-other-keys

Creates a new rucksack in the directory specified by DIRECTORY-DESIGNATOR, opens the new rucksack and imports all objects that were exported to the file specified by PATHNAME.

Package

rucksack

Source

import-export.lisp (file)

Function: index-spec-equal INDEX-SPEC-1 INDEX-SPEC-2

Returns T iff two index specs are equal.

Package

rucksack

Source

index.lisp (file)

Function: insert-new-binding NODE POSITION KEY VALUE
Package

rucksack

Source

p-btrees.lisp (file)

Function: join-nodes BTREE LEFT-NODE RIGHT-NODE PARENT-STACK

Create one node which contains the elements of both LEFT-NODE and RIGHT-NODE.

Package

rucksack

Source

p-btrees.lisp (file)

Function: key-position BTREE NODE KEY

Tries to find a binding with the given key in a bnode. If it succeeds, it returns the position of that binding. Otherwise, it returns NIL.

Package

rucksack

Source

p-btrees.lisp (file)

Function: leaf-delete-key BTREE LEAF PARENT-STACK KEY IF-DOES-NOT-EXIST
Package

rucksack

Source

p-btrees.lisp (file)

Function: leaf-insert BTREE LEAF PARENT-STACK KEY VALUE IF-EXISTS
Package

rucksack

Source

p-btrees.lisp (file)

Function: load-commit-file CACHE

Returns two values: a transaction id and a list of object ids (of objects that may be partially committed).

Package

rucksack

Source

transactions.lisp (file)

Function: load-object-fields BUFFER OBJECT-ID

Returns id, nr-slots, schema-id, transaction-id and prev-version (as 5 values).

Package

rucksack

Source

objects.lisp (file)

Function: load-objects PATHNAME

Returns a list of objects from a file created by SAVE-OBJECTS.

Package

rucksack

Source

serialize.lisp (file)

Function: load-roots RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: make-binding &key (KEY KEY) (VALUE VALUE)
Package

rucksack

Source

p-btrees.lisp (file)

Function: make-leaf-value BTREE VALUE
Package

rucksack

Source

p-btrees.lisp (file)

Function: make-lock &key NAME
Package

rucksack

Source

rucksack.lisp (file)

Function: make-persistent-data CLASS CONTENTS &optional RUCKSACK
Package

rucksack

Source

objects.lisp (file)

Function: make-root BTREE LEFT-KEY LEFT-SUBNODE RIGHT-KEY RIGHT-SUBNODE
Package

rucksack

Source

p-btrees.lisp (file)

Function: max-character-code STRING

Returns the highest character code in string.

Package

rucksack

Source

serialize.lisp (file)

Function: maybe-add-persistent-object-class CLASS DIRECT-SUPERCLASSES
Package

rucksack

Source

mop.lisp (file)

Function: maybe-update-slot-info CLASS
Package

rucksack

Source

mop.lisp (file)

Function: new-object-id OBJECT-TABLE

Returns an OBJECT-ID that is not in use.

Package

rucksack

Source

object-table.lisp (file)

Function: node-as-cons NODE &optional UNIQUE-KEYS
Package

rucksack

Source

p-btrees.lisp (file)

Function: node-binding NODE I
Function: (setf node-binding) BINDING NODE I
Package

rucksack

Source

p-btrees.lisp (file)

Function: node-binding-key NODE I
Function: (setf node-binding-key) KEY NODE I
Package

rucksack

Source

p-btrees.lisp (file)

Function: node-binding-value NODE I
Function: (setf node-binding-value) VALUE NODE I
Package

rucksack

Source

p-btrees.lisp (file)

Function: node-full-enough-p BTREE NODE
Package

rucksack

Source

p-btrees.lisp (file)

Function: node-full-p BTREE NODE
Package

rucksack

Source

p-btrees.lisp (file)

Function: node-has-min-size-p BTREE NODE
Package

rucksack

Source

p-btrees.lisp (file)

Function: node-position NODE PARENT BTREE

Returns the position of NODE (as a binding value) in a parent node.

Package

rucksack

Source

p-btrees.lisp (file)

Function: not-found BTREE KEY ERRORP DEFAULT-VALUE
Package

rucksack

Source

p-btrees.lisp (file)

Function: not-implemented OPERATOR
Package

rucksack

Source

errors.lisp (file)

Function: nr-octets N
Package

rucksack

Source

serialize.lisp (file)

Function: object-alive-p OBJECT-TABLE OBJECT-ID
Function: (setf object-alive-p) VALUE OBJECT-TABLE OBJECT-ID
Package

rucksack

Source

garbage-collector.lisp (file)

Function: object-heap-position OBJECT-TABLE ID
Function: (setf object-heap-position) POSITION OBJECT-TABLE ID
Package

rucksack

Source

object-table.lisp (file)

Function: object-id-to-block ID OBJECT-TABLE
Package

rucksack

Source

object-table.lisp (file)

Function: object-info OBJECT-TABLE ID

Returns either :free-block, :dead-object, :live-object or :reserved.

Package

rucksack

Source

object-table.lisp (file)

Writer

(setf object-info) (function)

Function: (setf object-info) INFO OBJECT-TABLE ID
Package

rucksack

Source

object-table.lisp (file)

Reader

object-info (function)

Function: object-table-size OBJECT-TABLE

Returns the potential number of objects in an object-table. The first potential object-id is number 0.

Package

rucksack

Source

object-table.lisp (file)

Function: (setf object-version-list) OLD-BLOCK YOUNG-BLOCK HEAP

Let the (previous pointer of the) object in YOUNG-BLOCK point to OLD-BLOCK.

Package

rucksack

Source

transactions.lisp (file)

Function: open-object-table PATHNAME &key IF-EXISTS IF-DOES-NOT-EXIST
Package

rucksack

Source

object-table.lisp (file)

Function: open-schema-table PATHNAME &key IF-EXISTS IF-DOES-NOT-EXIST
Package

rucksack

Source

schema-table.lisp (file)

Function: open-serializer STREAM

Creates and returns a serializer for a stream. The stream must have element-type (UNSIGNED-BYTE 8)).

Package

rucksack

Source

serialize.lisp (file)

Function: pointer-value POINTER HEAP
Function: (setf pointer-value) VALUE POINTER HEAP
Package

rucksack

Source

heap.lisp (file)

Function: position-of-binding-with-greater-key BTREE NODE KEY

Returns the position of the first binding in NODE with a key greater than KEY. Returns nil if there is no such binding.

Package

rucksack

Source

p-btrees.lisp (file)

Function: process-lock LOCK
Package

rucksack

Source

rucksack.lisp (file)

Function: process-unlock LOCK
Package

rucksack

Source

rucksack.lisp (file)

Function: read-block-start HEAP POSITION
Package

rucksack

Source

garbage-collector.lisp (file)

Function: read-next-marker SERIALIZER

Returns the next marker (or NIL if we’re at the end of the serializer stream).

Package

rucksack

Source

serialize.lisp (file)

Function: read-unsigned-bytes BUFFER STREAM &optional NR-OCTETS
Package

rucksack

Source

heap.lisp (file)

Function: remove-key BTREE NODE KEY
Package

rucksack

Source

p-btrees.lisp (file)

Function: replace-bindings VECTOR-1 VECTOR-2 &key START1 END1 START2 END2

Like P-REPLACE, but for vectors with bindings instead of plain vectors (so all indexes must be multiplied by 2).

Package

rucksack

Source

p-btrees.lisp (file)

Function: replace-slot-index RUCKSACK CLASS SLOT INDEX-SPEC UNIQUE-P
Package

rucksack

Source

rucksack.lisp (file)

Function: rucksack-delete-objects RUCKSACK OBJECTS
Package

rucksack

Source

rucksack.lisp (file)

Function: rucksack-files-in-directory DIRECTORY-PATHNAME

Returns a list with the pathnames of all Rucksack files in the specified directory.

Package

rucksack

Source

rucksack.lisp (file)

Function: rucksack-indexed-slots-for-class RUCKSACK CLASS

Returns a list with the names of the indexed direct slots of CLASS.

Package

rucksack

Source

rucksack.lisp (file)

Function: rucksack-list-class-indexes RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: rucksack-list-slot-indexes RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: sans PLIST &rest KEYS

Returns PLIST with keyword arguments from KEYS removed.

Package

rucksack

Source

cache.lisp (file)

Function: save-objects OBJECTS PATHNAME

Saves a list with objects to a file, creating the file if necessary. If the file exists, it will be superseded.

Package

rucksack

Source

serialize.lisp (file)

Function: save-roots RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: save-roots-if-necessary RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: scan-byte-16 STREAM &optional GC
Package

rucksack

Source

serialize.lisp (file)

Function: scan-byte-24 STREAM &optional GC
Package

rucksack

Source

serialize.lisp (file)

Function: scan-byte-32 STREAM &optional GC
Package

rucksack

Source

serialize.lisp (file)

Function: scan-byte-48 STREAM &optional GC
Package

rucksack

Source

serialize.lisp (file)

Function: scan-byte-64 STREAM &optional GC
Package

rucksack

Source

serialize.lisp (file)

Function: scan-list STREAM GC
Package

rucksack

Source

serialize.lisp (file)

Function: scan-string SIMPLE-P CHARACTER-CODE-SCANNER STREAM GC
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-byte-16 INTEGER STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-byte-24 INTEGER STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-byte-32 INTEGER STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-byte-48 INTEGER STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-byte-64 INTEGER STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-dotted-list LIST STREAM &optional LENGTH

Serializes a dotted list by first serializing its length and then all the elements of the list.

Package

rucksack

Source

serialize.lisp (file)

Function: serialize-float NUMBER STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-integer POSITIVE-P UNSIGNED NR-OCTETS STREAM
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-list LIST STREAM &optional LENGTH

Serializes a proper list by first serializing its length and then all the elements of the list.

Package

rucksack

Source

serialize.lisp (file)

Function: serialize-marker MARKER SERIALIZER
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-previous-version-pointer PREVIOUS-POINTER STREAM
Package

rucksack

Source

objects.lisp (file)

Function: serialize-standard-object OBJECT SERIALIZER
Package

rucksack

Source

serialize.lisp (file)

Function: serialize-structure-object OBJECT SERIALIZER
Package

rucksack

Source

serialize.lisp (file)

Function: shorten NODE NEW-LENGTH
Package

rucksack

Source

p-btrees.lisp (file)

Function: slot-def-and-name CLASS SLOT-NAME-OR-DEF

Returns (1) slot definition and (2) slot name.

Package

rucksack

Source

objects.lisp (file)

Function: slot-definition-equal SLOT-1 SLOT-2
Package

rucksack

Source

mop.lisp (file)

Function: smallest-key NODE

Returns the smallest key in this node or any of its subnodes.

Package

rucksack

Source

p-btrees.lisp (file)

Function: split-bnode BTREE NODE PARENT-STACK KEY

The node is (almost) full. Create two new nodes and divide the current node-index over these two new nodes.

Package

rucksack

Source

p-btrees.lisp (file)

Function: test-analyze-list ()
Package

rucksack

Source

serialize.lisp (file)

Function: test-garbage-collector RUCKSACK
Package

rucksack

Source

rucksack.lisp (file)

Function: trim-whitespace STRING
Package

rucksack

Source

index.lisp (file)

Function: update-indexes CLASS
Package

rucksack

Source

mop.lisp (file)

Function: update-node-binding NODE I KEY VALUE
Package

rucksack

Source

p-btrees.lisp (file)

Function: update-parents-for-deleted-key BTREE PARENT-STACK OLD-KEY NEW-KEY
Package

rucksack

Source

p-btrees.lisp (file)

Function: update-slot-info CLASS
Package

rucksack

Source

mop.lisp (file)

Function: version-list-position CURRENT-TRANSACTION-ID OBJ-ID VERSION-LIST HEAP

Returns the correct position for a transaction-id in a version-list. To be more precise, it returns:
1. the block of the object version with the oldest transaction that’s younger than the given transaction-id (nil if there is no such version). 2. the block of the first object version in the version list that has a transaction id older than the given transaction-id (nil if there is no such version).
VERSION-LIST is either nil or the heap position of the first object version in the version list.

Package

rucksack

Source

transactions.lisp (file)

Function: write-unsigned-bytes INTEGER BUFFER STREAM &optional NR-OCTETS
Package

rucksack

Source

heap.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

4.2.5 Generic functions

Generic Function: add-schema TABLE SCHEMA
Package

rucksack

Methods
Method: add-schema (TABLE schema-table) (SCHEMA schema)
Source

schema-table.lisp (file)

Generic Function: add-to-queue OBJECT-ID CACHE
Package

rucksack

Methods
Method: add-to-queue OBJECT-ID (CACHE lazy-cache)
Source

cache.lisp (file)

Method: add-to-queue OBJECT-ID (CACHE standard-cache)
Source

cache.lisp (file)

Generic Function: added-slot-names OBJECT
Generic Function: (setf added-slot-names) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: added-slot-names (SCHEMA schema)
Method: (setf added-slot-names) NEW-VALUE (SCHEMA schema)

A list with the names of all
persistent slots that were added by the most recent version (compared to this version).

Source

schema-table.lisp (file)

Generic Function: allocate-block HEAP &key SIZE EXPAND &allow-other-keys

Allocates a block of the requested size and returns
the heap position of that block. If the free list is full and EXPAND is true, the system will try to expand the free list; otherwise it returns nil.
As a second value, ALLOCATE-BLOCK returns the number of octets that were allocated.
Note: both the requested size and the returned heap position include the block’s header.

Package

rucksack

Source

heap.lisp (file)

Methods
Method: allocate-block (HEAP appending-heap) &key SIZE &allow-other-keys
Method: allocate-block (HEAP free-list-heap) &key SIZE EXPAND
Method: allocate-block (HEAP heap) &key &allow-other-keys around
Generic Function: block-alive-p OBJECT-TABLE OBJECT-ID BLOCK
Package

rucksack

Methods
Method: block-alive-p (OBJECT-TABLE object-table) OBJECT-ID BLOCK

Returns true iff the object in the block is alive.

Source

garbage-collector.lisp (file)

Generic Function: block-header BLOCK HEAP
Generic Function: (setf block-header) VALUE BLOCK HEAP
Package

rucksack

Methods
Method: block-header BLOCK (HEAP free-list-heap)
Method: (setf block-header) VALUE BLOCK (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: block-header-size HEAP
Package

rucksack

Methods
Method: block-header-size (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: block-size BLOCK HEAP

Returns the size of the block starting at the
specified position. This includes the size of the block header.

Package

rucksack

Source

heap.lisp (file)

Writer

(setf block-size) (generic function)

Methods
Method: block-size BLOCK (HEAP simple-free-list-heap)
Method: block-size BLOCK (HEAP free-list-heap)
Generic Function: (setf block-size) SIZE BLOCK HEAP
Package

rucksack

Reader

block-size (generic function)

Methods
Method: (setf block-size) SIZE BLOCK (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: bnode-bindings OBJECT
Generic Function: (setf bnode-bindings) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: bnode-bindings (BNODE bnode)
Method: (setf bnode-bindings) NEW-VALUE (BNODE bnode)

A vector of with alternating keys and
values. The keys are sorted by KEY<. No two keys can be the same. For leaf nodes of btrees with non-unique-keys, the value part is actually a list of values. For intermediate nodes, the value is a child node. All keys in the child node will be KEY<= the child node’s key in the parent node.

Source

p-btrees.lisp (file)

Generic Function: bnode-delete-key BTREE NODE PARENT-STACK KEY IF-DOES-NOT-EXIST
Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: bnode-delete-key (BTREE btree) (NODE bnode) PARENT-STACK KEY IF-DOES-NOT-EXIST
Generic Function: bnode-insert BTREE NODE PARENT-STACK KEY VALUE IF-EXISTS
Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: bnode-insert (BTREE btree) (NODE bnode) PARENT-STACK KEY VALUE IF-EXISTS
Generic Function: bnode-leaf-p OBJECT
Package

rucksack

Methods
Method: bnode-leaf-p (BNODE bnode)

automatically generated reader method

Source

p-btrees.lisp (file)

Generic Function: bnode-nr-bindings OBJECT
Generic Function: (setf bnode-nr-bindings) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: bnode-nr-bindings (BNODE bnode)
Method: (setf bnode-nr-bindings) NEW-VALUE (BNODE bnode)

The number of key/value bindings in the index vector.

Source

p-btrees.lisp (file)

Generic Function: bnode-nr-keys NODE
Package

rucksack

Methods
Method: bnode-nr-keys (NODE bnode)
Source

p-btrees.lisp (file)

Generic Function: btree-balanced-p BTREE
Package

rucksack

Methods
Method: btree-balanced-p (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: btree-depths BTREE
Package

rucksack

Methods
Method: btree-depths (BTREE btree)
Source

p-btrees.lisp (file)

Generic Function: btree-key-key OBJECT
Package

rucksack

Methods
Method: btree-key-key (BTREE btree)

A unary function that is applied to a
btree key before comparing it to another key with a key comparison predicate like BTREE-KEY<.

Source

p-btrees.lisp (file)

Generic Function: btree-root OBJECT
Generic Function: (setf btree-root) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: btree-root (BTREE btree)

automatically generated reader method

Source

p-btrees.lisp (file)

Method: (setf btree-root) NEW-VALUE (BTREE btree)

automatically generated writer method

Source

p-btrees.lisp (file)

Generic Function: btree-value-key OBJECT
Package

rucksack

Methods
Method: btree-value-key (BTREE btree)

A unary function that is applied to a
btree value before comparing it to another value with the BTREE-VALUE= predicate.

Source

p-btrees.lisp (file)

Generic Function: buffer-count BUFFER
Package

rucksack

Methods
Method: buffer-count (BUFFER buffer)
Source

heap.lisp (file)

Generic Function: cache-delete-object OBJECT-ID CACHE

Removes an object-id from the cache and from
the object table, so the object-id can be reused for another object later.

Package

rucksack

Source

cache.lisp (file)

Methods
Method: cache-delete-object OBJECT-ID (CACHE standard-cache)
Generic Function: cache-full-p CACHE
Package

rucksack

Methods
Method: cache-full-p (CACHE cache)
Source

cache.lisp (file)

Generic Function: cache-room CACHE
Package

rucksack

Methods
Method: cache-room (CACHE cache)
Source

cache.lisp (file)

Generic Function: cache-shrink-ratio OBJECT
Generic Function: (setf cache-shrink-ratio) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: cache-shrink-ratio (STANDARD-CACHE standard-cache)
Method: (setf cache-shrink-ratio) NEW-VALUE (STANDARD-CACHE standard-cache)

A number between 0 and 1. When the
cache is full, i.e. when there are at least SIZE (non-dirty) objects in the queue, it will be shrunk by removing (1 - SHRINK-RATIO) * SIZE objects.

Source

cache.lisp (file)

Generic Function: carve-up-block-for-free-list SIZE-CLASS BLOCK SIZE HEAP
Package

rucksack

Methods
Method: carve-up-block-for-free-list SIZE-CLASS BLOCK SIZE (HEAP free-list-heap)

Carves up a block of the given size to build a free list for the specified size-class. Returns the first block of the created free list.

Source

heap.lisp (file)

Generic Function: cell-buffer OBJECT
Package

rucksack

Methods
Method: cell-buffer (HEAP heap)

automatically generated reader method

Source

heap.lisp (file)

Generic Function: class-changed-p OBJECT
Generic Function: (setf class-changed-p) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: class-changed-p (PERSISTENT-CLASS persistent-class)
Method: (setf class-changed-p) NEW-VALUE (PERSISTENT-CLASS persistent-class)

True iff the class definition was changed
but the schemas haven’t been updated yet. This flag is necessary because some MOP implementations don’t call FINALIZE-INHERITANCE when a class was redefined and a new instance of the redefined class is created.

Source

mop.lisp (file)

Generic Function: class-index CLASS
Package

rucksack

Methods
Method: class-index (CLASS persistent-class)
Source

mop.lisp (file)

Generic Function: class-index-table RUCKSACK
Package

rucksack

Methods
Method: class-index-table (RUCKSACK standard-rucksack)
Source

rucksack.lisp (file)

Generic Function: class-persistent-slots OBJECT
Generic Function: (setf class-persistent-slots) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: class-persistent-slots (PERSISTENT-CLASS persistent-class)

automatically generated reader method

Source

mop.lisp (file)

Method: (setf class-persistent-slots) NEW-VALUE (PERSISTENT-CLASS persistent-class)

automatically generated writer method

Source

mop.lisp (file)

Generic Function: collect-garbage HEAP
Package

rucksack

Methods
Method: collect-garbage (HEAP mark-and-sweep-heap)
Source

garbage-collector.lisp (file)

Generic Function: collect-some-garbage HEAP AMOUNT
Package

rucksack

Methods
Method: collect-some-garbage (HEAP mark-and-sweep-heap) AMOUNT
Source

garbage-collector.lisp (file)

Generic Function: compute-persistent-slot-names CLASS OBJECT
Package

rucksack

Methods
Method: compute-persistent-slot-names (CLASS standard-class) (OBJECT persistent-data)
Source

objects.lisp (file)

Method: compute-persistent-slot-names (CLASS persistent-class) OBJECT
Source

schema-table.lisp (file)

Generic Function: contents OBJECT
Generic Function: (setf contents) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: contents (PERSISTENT-DATA persistent-data)

automatically generated reader method

Source

objects.lisp (file)

Method: (setf contents) NEW-VALUE (PERSISTENT-DATA persistent-data)

automatically generated writer method

Source

objects.lisp (file)

Method: contents (BUFFER buffer)

automatically generated reader method

Source

heap.lisp (file)

Method: (setf contents) NEW-VALUE (BUFFER buffer)

automatically generated writer method

Source

heap.lisp (file)

Generic Function: create-schema TABLE CLASS VERSION &optional PERSISTENT-SLOTS
Package

rucksack

Methods
Method: create-schema (TABLE schema-table) CLASS VERSION &optional PERSISTENT-SLOTS
Source

schema-table.lisp (file)

Generic Function: deallocate-block BLOCK HEAP
Package

rucksack

Methods
Method: deallocate-block BLOCK (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: delete-rucksack-root OBJECT RUCKSACK

Delete an object from the root set of a rucksack.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: delete-rucksack-root OBJECT (RUCKSACK standard-rucksack)
Generic Function: deserialize-byte SERIALIZER &optional EOF-ERROR-P

Reads an unsigned-byte from a serializer. EOF-ERROR-P defaults to T.

Package

rucksack

Source

serialize.lisp (file)

Methods
Method: deserialize-byte (STREAM serialization-buffer) &optional EOF-ERROR-P
Source

heap.lisp (file)

Method: deserialize-byte (SERIALIZER serializer) &optional EOF-ERROR-P
Method: deserialize-byte (STREAM stream) &optional EOF-ERROR-P
Generic Function: deserialize-contents MARKER STREAM
Package

rucksack

Methods
Method: deserialize-contents (MARKER (eql 192)) STREAM
Source

objects.lisp (file)

Method: deserialize-contents (MARKER (eql 179)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 178)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 177)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 176)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 128)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 144)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 160)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 119)) SERIALIZER
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 112)) SERIALIZER
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 80)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 82)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 81)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 68)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 67)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 66)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 65)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 64)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 73)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 72)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 71)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 70)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 69)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 52)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 51)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 50)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 49)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 48)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 96)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 100)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 97)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 38)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 33)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 32)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 29)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 28)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 27)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 26)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 25)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 24)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 23)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 22)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 21)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 20)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 19)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 18)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 17)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 16)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 12)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 11)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 10)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 9)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 3)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 2)) STREAM
Source

serialize.lisp (file)

Method: deserialize-contents (MARKER (eql 0)) STREAM
Source

serialize.lisp (file)

Generic Function: dirty-objects OBJECT
Package

rucksack

Methods
Method: dirty-objects (STANDARD-TRANSACTION standard-transaction)

A hash-table (from id to object)
containing all objects of which the slot changes have not been written to disk yet.

Source

transactions.lisp (file)

Generic Function: dirty-p OBJECT
Generic Function: (setf dirty-p) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: dirty-p (SCHEMA-TABLE schema-table)
Method: (setf dirty-p) NEW-VALUE (SCHEMA-TABLE schema-table)

When dirty, the schema table will be saved at the next commit.

Source

schema-table.lisp (file)

Generic Function: dirty-queue OBJECT
Package

rucksack

Methods
Method: dirty-queue (STANDARD-TRANSACTION standard-transaction)

A queue with the ids of all objects
that have been created or modified since the last commit. The queue is in least-recently-dirtied-first order. During a commit, the objects are written to disk in the same order (this is necessary to guarantee that the garbage collector never sees an id of an object that doesn’t exist on disk yet.

Source

transactions.lisp (file)

Generic Function: discarded-slot-names OBJECT
Generic Function: (setf discarded-slot-names) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: discarded-slot-names (SCHEMA schema)
Method: (setf discarded-slot-names) NEW-VALUE (SCHEMA schema)

A list with the names of all
persistent slots that were discarded by the most recent version (compared to this version).

Source

schema-table.lisp (file)

Generic Function: expand-free-list SIZE-CLASS HEAP
Package

rucksack

Methods
Method: expand-free-list SIZE-CLASS (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: expand-heap HEAP BLOCK-SIZE
Package

rucksack

Methods
Method: expand-heap (HEAP mark-and-sweep-heap) BLOCK-SIZE after
Source

garbage-collector.lisp (file)

Method: expand-heap (HEAP heap) BLOCK-SIZE
Source

heap.lisp (file)

Generic Function: expansion-size OBJECT
Package

rucksack

Methods
Method: expansion-size (FREE-LIST-HEAP free-list-heap)

The minimum number of bytes that will be used to expand a free-list.

Source

heap.lisp (file)

Generic Function: export-rucksack RUCKSACK PATHNAME

Export all objects in a rucksack to a file. The resulting file can be imported by newer versions of Rucksack.

Package

rucksack

Source

import-export.lisp (file)

Generic Function: find-block MIN-SIZE HEAP
Package

rucksack

Methods
Method: find-block MIN-SIZE (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: find-conflicting-transaction OBJECT-ID CACHE TRANSACTION

Tries to find an open transaction that has modified the object with the given object-id and is older than the given transaction. Returns this conflicting transaction, if there is one. Otherwise it returns nil.

Package

rucksack

Source

transactions.lisp (file)

Methods
Method: find-conflicting-transaction OBJECT-ID (CACHE standard-cache) (CURRENT-TRANSACTION standard-transaction)
Generic Function: find-or-create-schema-for-object TABLE OBJECT
Package

rucksack

Methods
Method: find-or-create-schema-for-object (TABLE schema-table) OBJECT
Source

schema-table.lisp (file)

Generic Function: find-schema-for-class TABLE CLASS
Package

rucksack

Methods
Method: find-schema-for-class (TABLE schema-table) CLASS
Source

schema-table.lisp (file)

Generic Function: find-schema-for-id TABLE ID &key ERRORP
Package

rucksack

Methods
Method: find-schema-for-id (TABLE schema-table) ID &key ERRORP
Source

schema-table.lisp (file)

Generic Function: finish-all-output RUCKSACK
Package

rucksack

Methods
Method: finish-all-output (RUCKSACK standard-rucksack)
Source

transactions.lisp (file)

Generic Function: finish-garbage-collection HEAP
Package

rucksack

Methods
Method: finish-garbage-collection (HEAP mark-and-sweep-heap)
Source

garbage-collector.lisp (file)

Generic Function: finish-heap-output HEAP
Package

rucksack

Methods
Method: finish-heap-output (HEAP heap)
Source

heap.lisp (file)

Generic Function: free-list-empty-p SIZE-CLASS HEAP
Package

rucksack

Methods
Method: free-list-empty-p SIZE-CLASS (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: free-list-info SIZE-CLASS HEAP
Package

rucksack

Methods
Method: free-list-info SIZE-CLASS (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: free-list-start HEAP &optional SIZE-CLASS
Generic Function: (setf free-list-start) POINTER HEAP &optional SIZE-CLASS
Package

rucksack

Methods
Method: free-list-start (HEAP free-list-heap) &optional SIZE-CLASS

Returns the first block on the free list of the specified size class.

Source

heap.lisp (file)

Method: (setf free-list-start) POINTER (HEAP free-list-heap) &optional SIZE-CLASS
Source

heap.lisp (file)

Generic Function: free-space HEAP
Package

rucksack

Methods
Method: free-space (HEAP heap)
Source

garbage-collector.lisp (file)

Generic Function: fresh-schema-id TABLE
Package

rucksack

Methods
Method: fresh-schema-id (TABLE schema-table)
Source

schema-table.lisp (file)

Generic Function: gc-doing-work OBJECT
Generic Function: (setf gc-doing-work) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: gc-doing-work (GARBAGE-COLLECTOR garbage-collector)
Method: (setf gc-doing-work) NEW-VALUE (GARBAGE-COLLECTOR garbage-collector)

A flag to prevent recursive calls to COLLECT-SOME-GARBAGE.

Source

garbage-collector.lisp (file)

Generic Function: gc-work-for-size HEAP SIZE
Package

rucksack

Methods
Method: gc-work-for-size (HEAP heap) SIZE
Source

garbage-collector.lisp (file)

Generic Function: grow-size OBJECT
Generic Function: (setf grow-size) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: grow-size (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)
Method: (setf grow-size) NEW-VALUE (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

Specifies a minimum amount to grow the heap when it needs to grow. If ’grow size’ is an integer, the expected growth rate is additive and the integer is the number of octets to add; if it is a float, the expected growth rate for the heap is multiplicative and the float is the ratio of the new size to the old size. (The actual size might be rounded up.)

Source

garbage-collector.lisp (file)

Generic Function: handle-written-object OBJECT-ID BLOCK HEAP
Package

rucksack

Methods
Method: handle-written-object OBJECT-ID BLOCK (HEAP mark-and-sweep-heap)
Source

garbage-collector.lisp (file)

Generic Function: heap-info HEAP
Package

rucksack

Methods
Method: heap-info (HEAP free-list-heap)
Source

heap.lisp (file)

Generic Function: heap-size HEAP
Package

rucksack

Methods
Method: heap-size (HEAP heap)
Source

heap.lisp (file)

Generic Function: heap-start HEAP

Returns the position of the first block in the heap.

Package

rucksack

Source

heap.lisp (file)

Methods
Method: heap-start (HEAP appending-heap)
Method: heap-start (HEAP free-list-heap)
Generic Function: highest-schema-id OBJECT
Generic Function: (setf highest-schema-id) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: highest-schema-id (SCHEMA-TABLE schema-table)

automatically generated reader method

Source

schema-table.lisp (file)

Method: (setf highest-schema-id) NEW-VALUE (SCHEMA-TABLE schema-table)

automatically generated writer method

Source

schema-table.lisp (file)

Generic Function: highest-transaction-id OBJECT
Generic Function: (setf highest-transaction-id) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: highest-transaction-id (STANDARD-RUCKSACK standard-rucksack)
Method: (setf highest-transaction-id) NEW-VALUE (STANDARD-RUCKSACK standard-rucksack)

The highest transaction ID
in the entire rucksack. This is saved together with the roots.

Source

rucksack.lisp (file)

Generic Function: index-data OBJECT
Package

rucksack

Methods
Method: index-data (INDEX index)

The actual index data structure (e.g. a btree).

Source

index.lisp (file)

Generic Function: index-data-delete INDEX KEY VALUE &key IF-DOES-NOT-EXIST
Package

rucksack

Methods
Method: index-data-delete (INDEX btree) KEY VALUE &key IF-DOES-NOT-EXIST
Source

index.lisp (file)

Generic Function: index-data-insert INDEX KEY VALUE &key IF-EXISTS
Package

rucksack

Methods
Method: index-data-insert (INDEX btree) KEY VALUE &key IF-EXISTS
Source

index.lisp (file)

Generic Function: index-similar-p INDEX-1 INDEX-2
Package

rucksack

Methods
Method: index-similar-p (INDEX-1 index) (INDEX-2 index)
Source

index.lisp (file)

Generic Function: index-spec OBJECT
Package

rucksack

Methods
Method: index-spec (INDEX index)

automatically generated reader method

Source

index.lisp (file)

Generic Function: index-unique-keys-p OBJECT
Package

rucksack

Methods
Method: index-unique-keys-p (INDEX index)

automatically generated reader method

Source

index.lisp (file)

Generic Function: initialize-block BLOCK BLOCK-SIZE HEAP
Package

rucksack

Source

heap.lisp (file)

Methods
Method: initialize-block BLOCK BLOCK-SIZE (HEAP mark-and-sweep-heap)
Source

garbage-collector.lisp (file)

Method: initialize-block BLOCK BLOCK-SIZE (OBJECT-TABLE object-table)
Source

object-table.lisp (file)

Method: initialize-block BLOCK BLOCK-SIZE (HEAP free-list-heap)
Generic Function: last-timestamp OBJECT
Generic Function: (setf last-timestamp) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: last-timestamp (STANDARD-CACHE standard-cache)

automatically generated reader method

Source

cache.lisp (file)

Method: (setf last-timestamp) NEW-VALUE (STANDARD-CACHE standard-cache)

automatically generated writer method

Source

cache.lisp (file)

Generic Function: load-block HEAP BLOCK &key BUFFER SKIP-HEADER
Package

rucksack

Methods
Method: load-block (HEAP mark-and-sweep-heap) BLOCK &key BUFFER SKIP-HEADER
Source

garbage-collector.lisp (file)

Generic Function: load-buffer BUFFER STREAM NR-OCTETS &key FILE-POSITION EOF-ERROR-P
Package

rucksack

Methods
Method: load-buffer (BUFFER serialization-buffer) STREAM NR-OCTETS &key FILE-POSITION after
Source

heap.lisp (file)

Method: load-buffer (BUFFER buffer) STREAM NR-OCTETS &key FILE-POSITION EOF-ERROR-P
Source

heap.lisp (file)

Generic Function: load-heap-end HEAP
Package

rucksack

Methods
Method: load-heap-end (HEAP appending-heap)
Source

heap.lisp (file)

Generic Function: load-object OBJECT-ID TRANSACTION CACHE
Package

rucksack

Methods
Method: load-object OBJECT-ID TRANSACTION (CACHE standard-cache)
Source

objects.lisp (file)

Generic Function: load-slots OBJECT SERIALIZER
Package

rucksack

Source

serialize.lisp (file)

Methods
Method: load-slots (TABLE schema-table) SERIALIZER after
Source

schema-table.lisp (file)

Method: load-slots (OBJECT structure-object) STREAM
Method: load-slots (OBJECT standard-object) STREAM
Generic Function: make-room-in-cache CACHE
Package

rucksack

Methods
Method: make-room-in-cache (CACHE lazy-cache)
Source

cache.lisp (file)

Method: make-room-in-cache (CACHE standard-cache)
Source

cache.lisp (file)

Generic Function: map-btree-keys-for-node BTREE NODE FUNCTION MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER
Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: map-btree-keys-for-node (BTREE btree) (NODE bnode) FUNCTION MIN MAX INCLUDE-MIN INCLUDE-MAX ORDER
Generic Function: map-index-data INDEX FUNCTION &rest ARGS &key MIN MAX INCLUDE-MIN INCLUDE-MAX EQUAL ORDER
Package

rucksack

Methods
Method: map-index-data (INDEX btree) FUNCTION &rest ARGS &key MIN MAX INCLUDE-MIN INCLUDE-MAX EQUAL ORDER
Source

index.lisp (file)

Generic Function: map-set-btree SET FUNCTION

Calls a unary function for each value in a btree-set.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: map-set-btree (SET set-btree) FUNCTION
Generic Function: mark-root HEAP OBJECT-ID
Package

rucksack

Methods
Method: mark-root (HEAP mark-and-sweep-heap) (OBJECT-ID integer)
Source

garbage-collector.lisp (file)

Generic Function: mark-some-objects-in-table HEAP AMOUNT
Package

rucksack

Methods
Method: mark-some-objects-in-table (HEAP mark-and-sweep-heap) AMOUNT
Source

garbage-collector.lisp (file)

Generic Function: mark-some-roots HEAP AMOUNT
Package

rucksack

Methods
Method: mark-some-roots (HEAP mark-and-sweep-heap) AMOUNT
Source

garbage-collector.lisp (file)

Generic Function: max-heap-end OBJECT
Generic Function: (setf max-heap-end) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: max-heap-end (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)
Method: (setf max-heap-end) NEW-VALUE (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

The maximum acceptable value for heap-end during the current garbage collection.

Source

garbage-collector.lisp (file)

Generic Function: max-heap-size OBJECT
Generic Function: (setf max-heap-size) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: max-heap-size (HEAP heap)
Method: (setf max-heap-size) NEW-VALUE (HEAP heap)

The maximum size (in octets) for the heap.
If nil, the heap is allowed to expand indefinitely.

Source

heap.lisp (file)

Generic Function: max-work HEAP
Package

rucksack

Methods
Method: max-work (HEAP mark-and-sweep-heap)

Returns the maximum possible amount of work that the garbage collector needs to do for one complete garbage collection.

Source

garbage-collector.lisp (file)

Generic Function: maybe-dereference-proxy PROXY
Package

rucksack

Methods
Method: maybe-dereference-proxy OBJECT
Source

objects.lisp (file)

Method: maybe-dereference-proxy (PROXY proxy)
Source

objects.lisp (file)

Generic Function: maybe-update-schemas TABLE CLASS
Package

rucksack

Methods
Method: maybe-update-schemas (TABLE schema-table) CLASS
Source

schema-table.lisp (file)

Generic Function: min-block-size OBJECT
Package

rucksack

Methods
Method: min-block-size (FREE-LIST-HEAP free-list-heap)

The size of the smallest blocks. This must be a power of 2.

Source

heap.lisp (file)

Generic Function: node-max-depth NODE
Package

rucksack

Methods
Method: node-max-depth (NODE bnode)
Source

p-btrees.lisp (file)

Generic Function: node-min-depth NODE
Package

rucksack

Methods
Method: node-min-depth (NODE bnode)
Source

p-btrees.lisp (file)

Generic Function: node-search BTREE NODE KEY ERRORP DEFAULT-VALUE
Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: node-search (BTREE btree) (NODE bnode) KEY ERRORP DEFAULT-VALUE
Generic Function: node-search-binding BTREE NODE KEY

Tries to find KEY in NODE or one of its subnodes.
Returns three values if the key was found: the binding, the node containing the binding and the position of the binding in that node. Returns nil otherwise.

Package

rucksack

Source

p-btrees.lisp (file)

Methods
Method: node-search-binding (BTREE btree) (NODE bnode) KEY
Generic Function: nr-allocated-octets OBJECT
Generic Function: (setf nr-allocated-octets) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: nr-allocated-octets (HEAP heap)
Method: (setf nr-allocated-octets) NEW-VALUE (HEAP heap)

The number of octets that have been
allocated by ALLOCATE-BLOCK since the last time that RESET-ALLOCATION-COUNTER was called.

Source

heap.lisp (file)

Generic Function: nr-free-lists OBJECT
Package

rucksack

Methods
Method: nr-free-lists (FREE-LIST-HEAP free-list-heap)

automatically generated reader method

Source

heap.lisp (file)

Generic Function: nr-heap-bytes HEAP
Package

rucksack

Methods
Method: nr-heap-bytes (HEAP mark-and-sweep-heap)

Returns the number of heap bytes that must be handled by the garbage collector.

Source

garbage-collector.lisp (file)

Generic Function: nr-heap-bytes-scanned OBJECT
Generic Function: (setf nr-heap-bytes-scanned) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: nr-heap-bytes-scanned (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated reader method

Source

garbage-collector.lisp (file)

Method: (setf nr-heap-bytes-scanned) NEW-VALUE (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated writer method

Source

garbage-collector.lisp (file)

Generic Function: nr-heap-bytes-sweeped OBJECT
Generic Function: (setf nr-heap-bytes-sweeped) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: nr-heap-bytes-sweeped (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated reader method

Source

garbage-collector.lisp (file)

Method: (setf nr-heap-bytes-sweeped) NEW-VALUE (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated writer method

Source

garbage-collector.lisp (file)

Generic Function: nr-object-bytes HEAP
Package

rucksack

Methods
Method: nr-object-bytes (HEAP mark-and-sweep-heap)

Returns the number of object bytes that must be handled by the garbage collector.

Source

garbage-collector.lisp (file)

Generic Function: nr-object-bytes-marked OBJECT
Generic Function: (setf nr-object-bytes-marked) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: nr-object-bytes-marked (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated reader method

Source

garbage-collector.lisp (file)

Method: (setf nr-object-bytes-marked) NEW-VALUE (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated writer method

Source

garbage-collector.lisp (file)

Generic Function: nr-object-bytes-sweeped OBJECT
Generic Function: (setf nr-object-bytes-sweeped) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: nr-object-bytes-sweeped (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated reader method

Source

garbage-collector.lisp (file)

Method: (setf nr-object-bytes-sweeped) NEW-VALUE (MARK-AND-SWEEP-HEAP mark-and-sweep-heap)

automatically generated writer method

Source

garbage-collector.lisp (file)

Generic Function: nr-persistent-slots SCHEMA
Package

rucksack

Methods
Method: nr-persistent-slots (SCHEMA schema)
Source

schema-table.lisp (file)

Generic Function: object-table OBJECT
Package

rucksack

Methods
Method: object-table (GARBAGE-COLLECTOR garbage-collector)

automatically generated reader method

Source

garbage-collector.lisp (file)

Generic Function: objects OBJECT
Package

rucksack

Methods
Method: objects (STANDARD-CACHE standard-cache)

A hash-table (from id to object)
containing the youngest committed version of all objects that are currently kept in memory but are not dirty. (’The youngest version’ means the version belonging to the youngest committed transaction.)

Source

cache.lisp (file)

Generic Function: old-schemas-for-class TABLE CLASS
Package

rucksack

Methods
Method: old-schemas-for-class (TABLE schema-table) CLASS
Source

schema-table.lisp (file)

Generic Function: old-transaction CONDITION
Package

rucksack

Methods
Method: old-transaction (CONDITION transaction-conflict)
Source

errors.lisp (file)

Generic Function: p-nreverse OBJECT
Package

rucksack

Methods
Method: p-nreverse (OBJECT persistent-cons)
Source

objects.lisp (file)

Method: p-nreverse (OBJECT (eql nil))
Source

objects.lisp (file)

Generic Function: persistent-data-read FUNCTION DATA &rest ARGS
Package

rucksack

Methods
Method: persistent-data-read FUNCTION (DATA persistent-data) &rest ARGS
Source

objects.lisp (file)

Generic Function: persistent-data-write FUNCTION DATA VALUE &rest ARGS
Package

rucksack

Methods
Method: persistent-data-write FUNCTION (DATA persistent-data) VALUE &rest ARGS
Source

objects.lisp (file)

Generic Function: persistent-slot-names OBJECT
Generic Function: (setf persistent-slot-names) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: persistent-slot-names (SCHEMA schema)
Method: (setf persistent-slot-names) NEW-VALUE (SCHEMA schema)

A list with the names of all persistent effective slots.

Source

schema-table.lisp (file)

Generic Function: reset-allocation-counter HEAP
Package

rucksack

Methods
Method: reset-allocation-counter (HEAP heap)
Source

heap.lisp (file)

Generic Function: reset-buffer BUFFER
Package

rucksack

Methods
Method: reset-buffer (BUFFER buffer)
Source

heap.lisp (file)

Generic Function: roots OBJECT
Generic Function: (setf roots) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: roots (GARBAGE-COLLECTOR garbage-collector)
Method: (setf roots) NEW-VALUE (GARBAGE-COLLECTOR garbage-collector)

A list of object-ids of roots that must be kept alive.

Source

garbage-collector.lisp (file)

Generic Function: roots-changed-p OBJECT
Generic Function: (setf roots-changed-p) NEW-VALUE OBJECT
Package

rucksack

Methods
Method: roots-changed-p (STANDARD-RUCKSACK standard-rucksack)

automatically generated reader method

Source

rucksack.lisp (file)

Method: (setf roots-changed-p) NEW-VALUE (STANDARD-RUCKSACK standard-rucksack)

automatically generated writer method

Source

rucksack.lisp (file)

Generic Function: rucksack-root-p OBJECT RUCKSACK

Returns true iff OBJECT is a member of the root set of a rucksack.

Package

rucksack

Source

rucksack.lisp (file)

Methods
Method: rucksack-root-p OBJECT (RUCKSACK standard-rucksack)
Generic Function: rucksack-roots-pathname RUCKSACK
Package

rucksack

Methods
Method: rucksack-roots-pathname (RUCKSACK standard-rucksack)
Source

rucksack.lisp (file)

Generic Function: rucksack-transaction-lock OBJECT
Package

rucksack

Methods
Method: rucksack-transaction-lock (SERIAL-TRANSACTION-RUCKSACK serial-transaction-rucksack)

automatically generated reader method

Source

transactions.lisp (file)

Generic Function: rucksack-update-class-index RUCKSACK CLASS

Compares the current class index for CLASS to the class index that’s specified in the :INDEX class option of CLASS. An obsolete class index (i.e. a class index that’s specified anymore in the class option) is removed, new class indexes are added.

Package