hu.dwim.perec

API Reference

hu.dwim.perec

RDBMS based persistent CLOS, an object relational mapping (ORM).

HU.DWIM.PEREC

  • Macro DEFPCLASS (name superclasses slots &rest options)
    Defines a persistent class. Slots may have an additional :persistent slot option which is true by default. For standard options see defclass.
  • Macro DEFPCLASS* (name superclasses slots &rest options)
    Same as defpclass but uses defclass*.
  • Macro DEFPASSOCIATION (&body association-ends)
  • Macro DEFPASSOCIATION* (&body association-ends)
  • Function ENSURE-PERSISTENT (instance)
  • Function ENSURE-TRANSIENT (instance)
  • Function MAKE-PERSISTENT (instance)
    Makes an instance persistent without making its associated instances persistent.
  • Function MAKE-TRANSIENT (instance)
    Makes an instance transient without making its associated instances transient.
  • Generic-Function MAKE-PERSISTENT-USING-CLASS (class instance)
    Extension point
  • Generic-Function MAKE-TRANSIENT-USING-CLASS (class instance)
    Extension point
  • Generic-Function ENSURE-ITEM (persistent-collection fn)
    Ensure that item is present in the container.
  • Generic-Function ITERATE-ITEMS (persistent-collection fn)
    Applies function to each item in the persistent container.
  • Generic-Function LIST-OF (persistent-collection)
    Returns a non lazy list of items present in the persistent collection.
  • Generic-Function (setf LIST-OF) (new-value persistent-collection)
    Returns a non lazy list of items present in the persistent collection.
  • Macro WITH-CACHING-SLOT-VALUES (&body forms)
  • Macro WITHOUT-CACHING-SLOT-VALUES (&body forms)
  • Macro WITH-LAZY-SLOT-VALUE-COLLECTIONS (&body forms)
  • Macro WITHOUT-LAZY-SLOT-VALUE-COLLECTIONS (&body forms)
  • Class DATABASE-MIXIN
    OID-INSTANCE-ID-SEQUENCE-EXISTS   Accessor: OID-INSTANCE-ID-SEQUENCE-EXISTS-P
  • Class TRANSACTION-MIXIN  (TRANSACTION-INSTANCE-CACHE-MIXIN)
    No slots.
  • Function INSTANCE-IN-TRANSACTION-P (instance)
    Returns true iff the instance is attached to a transaction which is in progress.
  • Function INSTANCE-IN-CURRENT-TRANSACTION-P (instance)
    Returns true iff the instance is attached to the current transaction which is in progress.
  • Generic-Function BEFORE-COMMITTING-INSTANCE (transaction instance transaction-event)
  • Generic-Function AFTER-INSTANCE-COMMITTED (transaction instance transaction-event)
  • Class PERSISTENT-TYPE
    NAME   Accessor: NAME-OF
    DOCUMENTATION   Accessor: DOCUMENTATION-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
  • Function FIND-TYPE (type &key (otherwise :error))
  • Function (setf FIND-TYPE) (new-value type)
  • Macro WITH-TYPE-CHECKING-SLOT-VALUES (&body body)
  • Macro WITHOUT-TYPE-CHECKING-SLOT-VALUES (&body body)
  • Function PRIMITIVE-TYPE-P (type)
    Accepts types such as boolean, integer, string, double, etc. which are directly mapped to RDBMS.
  • Function PRIMITIVE-TYPE-P* (type)
    Same as primitive-type-p but also accepts values such as (or unbound integer), (or null string), (or unbound null boolean), etc.
  • Function PERSISTENT-CLASS-TYPE-P (type)
    Returns true for persistent class types and false otherwise.
  • Function PERSISTENT-CLASS-TYPE-P* (type)
    Same as persistent-class-type-p but also accepts values such as (or unbound persistent-object), (or null persistent-object), (or unbound null persistent-object) etc.
  • Function PARSE-TYPE (type-specifier)
  • Function UNPARSE-TYPE (type)
  • Function DESTRUCTURE-TYPE (type)
    Returns (values canonical-type null-subtype-p unbound-subtype-p) corresponding to the given type.
  • Class PERSISTENT-CLASS  (STANDARD-CLASS, EXPORTABLE)
    Persistent class is a class meta instance for classes. Standard defclass forms may be used to define persistent classes. A persistent class will have persistent slots unless marked with :persistent #f. A persistent slot should have type specification to be efficient both in storage and speed. The special type unbound must be used to mark slots which might be unbound.
    ID   Accessor: ID-OF
    A unique integer that identifies the persistent class. This integer will be part of the oid for each instance in the database
    ABSTRACT   Accessor: ABSTRACT-P
    An abstract persistent class cannot be instantiated but still can be used in associations and may have slots. Calling make-instance on an abstract persistent class will signal an error. On the other hand abstract classes might not have a primary table and thus handling the instances of subclasses may require simpler or less SQL statements.
    DIRECT-STORE   Accessor: DIRECT-STORE-OF
    Specifies in which tables should the effective slots be stored. Valid options are :separate :push-down :push-up for all slots or per each superclass slot groups.
    EFFECTIVE-STORE   Accessor: EFFECTIVE-STORE-OF
    Merges the direct store class options according to the class precedence list.
    STANDARD-DIRECT-SLOTS   Accessor: STANDARD-DIRECT-SLOTS-OF
    All computed slots that needs the direct slots should use this slot so that invalidation will work.
    STANDARD-EFFECTIVE-SLOTS   Accessor: STANDARD-EFFECTIVE-SLOTS-OF
    All computed slots that needs the effective slots should use this slot so that invalidation will work.
    PERSISTENT-DIRECT-SLOTS   Accessor: PERSISTENT-DIRECT-SLOTS-OF
    The list of direct slots which are defined to be persistent in this class.
    PERSISTENT-EFFECTIVE-SLOTS   Accessor: PERSISTENT-EFFECTIVE-SLOTS-OF
    The list of effective slots which are turned out to be persistent in this class.
    PERSISTENT-DIRECT-SUPERCLASSES   Accessor: PERSISTENT-DIRECT-SUPERCLASSES-OF
    The list of persistent direct subclasses.
    PERSISTENT-CLASS-PRECEDENCE-LIST   Accessor: PERSISTENT-CLASS-PRECEDENCE-LIST-OF
    Similar to class-precedence-list but includes only persistent classes.
    PERSISTENT-EFFECTIVE-SUPERCLASSES   Accessor: PERSISTENT-EFFECTIVE-SUPERCLASSES-OF
    The list of effective persistent superclasses in class precedence order.
    PERSISTENT-DIRECT-SUBCLASSES   Accessor: PERSISTENT-DIRECT-SUBCLASSES-OF
    The list of persistent direct subclasses.
    PERSISTENT-EFFECTIVE-SUBCLASSES   Accessor: PERSISTENT-EFFECTIVE-SUBCLASSES-OF
    The list of persistent effective subclasses in no particular order.
    DIRECT-INSTANCES-IDENTITY-VIEW   Accessor: DIRECT-INSTANCES-IDENTITY-VIEW-OF
    The view which provides the oid for the direct instances of this class.
    DIRECT-INSTANCES-PREFETCH-VIEW   Accessor: DIRECT-INSTANCES-PREFETCH-VIEW-OF
    The view which provides the data for the prefetched slots of the direct instances of this class.
    DIRECT-INSTANCES-DATA-VIEW   Accessor: DIRECT-INSTANCES-DATA-VIEW-OF
    The view which provides the data for the effective slots of the direct instances of this class.
    ALL-INSTANCES-IDENTITY-VIEW   Accessor: ALL-INSTANCES-IDENTITY-VIEW-OF
    The view which provides the oid for all instances of this class.
    ALL-INSTANCES-PREFETCH-VIEW   Accessor: ALL-INSTANCES-PREFETCH-VIEW-OF
    The view which provides the data for the prefetched slots of all instances of this class.
    ALL-INSTANCES-DATA-VIEW   Accessor: ALL-INSTANCES-DATA-VIEW-OF
    The view which provides the data for the effective slots of all instances of this class.
    PRIMARY-TABLE   Accessor: PRIMARY-TABLE-OF
    The table that primarily belongs to this class and will store its direct slots by default. If a class has no slots then the identities of its instances will be stored in its primary table. On the other hand the primary table may or may not store all the effective slots depending on the provided store settings. In general there are no more tables in the RDBMS mapping than the set of all primary tables.
    DATA-TABLES   Accessor: DATA-TABLES-OF
    All the tables which hold data of the effective slots or the identity of an instance of this class.
    DATA-TABLE-SLOTS   Accessor: DATA-TABLE-SLOTS-OF
    The list of effective slots which are stored in the data tables, this excludes n-ary association ends.
    PREFETCHED-SLOTS   Accessor: PREFETCHED-SLOTS-OF
    The list of effective slots which will be loaded from and stored to the database at once when loading an instance of this class. Moreover when a persistent instance is revived its prefetched slots will be loaded.
    NON-PREFETCHED-SLOTS   Accessor: NON-PREFETCHED-SLOTS-OF
    The list of effective slots which will be loaded and stored lazily and separately from other slots.
    DEPENDS-ON   Accessor: DEPENDS-ON-OF
    The list of persistent classes which must be looked at by this class when computing RDBMS meta data. This is used to generate columns into other classes' primary tables.
    DEPENDS-ON-ME   Accessor: DEPENDS-ON-ME-OF
    The list of persistent classes which must look at this class when computing RDBMS meta data.
  • Class PERSISTENT-SLOT-DEFINITION  (STANDARD-SLOT-DEFINITION)
    Base class for both persistent direct and effective slot definitions.
    %%CLASS   Accessor: PERSISTENT-SLOT-DEFINITION-CLASS
    PREFETCH   Accessor: PREFETCH-P
    Prefetched slots are loaded from and stored into the database at once. A prefetched slot must be in a table which can be accessed using a where clause matching to the id of the instance thus it must be in a data table. The default prefetched slot semantics can be overriden on a per direct slot basis.
    CACHE   Accessor: CACHE-P
    All prefetched slots are cached slots but the opposite may not be true. When a cached slot is loaded it's value will be stored in the CLOS instance for fast subsequent read operations. Also whenever a cached slot is set the value will be remembered. The default cached slot semantics can be overriden on a per direct slot basis.
    INDEX   Accessor: INDEX-P
    True means the slot value will be indexed in the underlying RDBMS.
    UNIQUE   Accessor: UNIQUE-P
    True means the slot value will be enforced to be unique among instances in the underlying RDBMS.
    SPECIFIED-TYPE   Accessor: SPECIFIED-TYPE-OF
    The slot type as it was specified or t.
    CANONICAL-TYPE   Accessor: CANONICAL-TYPE-OF
    The canonical form of the specified type. See canonical-type-for for more details.
    NORMALIZED-TYPE   Accessor: NORMALIZED-TYPE-OF
    The normalized form of the specified type. See normalized-type-for for more details.
    ALWAYS-CHECKED-TYPE   Accessor: ALWAYS-CHECKED-TYPE-OF
    When type-check is :always then this type will be checked whenever a new value is set during the transaction. This type may be different from the specified type.
    TYPE-CHECK   Accessor: TYPE-CHECK-OF
    On commit type check means that during the transaction the slot may have null and/or unbound value and the type check will be done when the transaction commits.
  • Class PERSISTENT-DIRECT-SLOT-DEFINITION  (PERSISTENT-SLOT-DEFINITION, STANDARD-DIRECT-SLOT-DEFINITION)
    Class for persistent direct slot definitions.
    SPECIFIED-TYPE   Accessor: SPECIFIED-TYPE-OF
    The slot type as it was originally specified in the defclass form.
  • Class PERSISTENT-EFFECTIVE-SLOT-DEFINITION  (PERSISTENT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION)
    Class for persistent effective slot definitions.
    DIRECT-SLOTS   Accessor: DIRECT-SLOTS-OF
    The list of direct slots definitions used to compute this effective slot during the class finalization procedure in class precedence list order.
    PRIMARY-CLASS   Accessor: PRIMARY-CLASS-OF
    The persistent class which owns the primary table where this slot will be stored, NIL for abstract classes.
    TABLE   Accessor: TABLE-OF
    The RDBMS table which will be queried or updated to get and set the data of this slot, NIL for abstract classes
    COLUMN-NAMES   Accessor: COLUMN-NAMES-OF
    The list of RDBMS column names to which this slot will be mapped.
    COLUMNS   Accessor: COLUMNS-OF
    The list of RDBMS columns which will be queried or updated to get and set the data of this slot.
    OID-COLUMN   Accessor: OID-COLUMN-OF
    This is the id column of the oid reference when appropriarte for the slot type.
    MAPPING   Accessor: MAPPING-OF
    The RDBMS mapping
    COLUMN-TYPES   Accessor: COLUMN-TYPES-OF
    List of RDBMS types to which this slot is mapped.
    READER   Accessor: READER-OF
    A function which transforms RDBMS values to the corresponding lisp value. This is present only for data table slots.
    WRITER   Accessor: WRITER-OF
    A function which transforms a lisp value to the corresponding RDBMS values. This is present only for data table slots.
    PRIMARY-TABLE-SLOT   Accessor: PRIMARY-TABLE-SLOT-P
    True means the slot can be loaded from the primary table of its class with a where clause matching to the instance's oid.
    DATA-TABLE-SLOT   Accessor: DATA-TABLE-SLOT-P
    True means the slot can be loaded from one of the data tables of its class with a where clause matching to the instance's oid.
    PREFETCH   Accessor: PREFETCH-OF
    The prefetched option is inherited among direct slots according to the class precedence list. If no direct slot has prefetched specification then the default behaviour is to prefetch data tabe slots.
    CACHE   Accessor: CACHE-OF
    The cached option is inherited among direct slots according to the class precedence list. If no direct slot has cached specification then the default behaviour is to cache prefetched slots and single instance references.
    INDEX   Accessor: INDEX-OF
    The index option is inherited among direct slots according to the class precedence list with defaulting to false.
    UNIQUE   Accessor: UNIQUE-OF
    The unique option is inherited among direct slots according to the class precedence list with defaulting to false.
    SPECIFIED-TYPE   Accessor: SPECIFIED-TYPE-OF
    The types of the direct slots combined with the compound type specifier 'and'.
    TYPE-CHECK   Accessor: TYPE-CHECK-OF
    The type check option is inherited among direct slots according to the class precedence list with defaulting to :always. for primitive types and :on-commit for class types.
    DEFAULT-VALUE-FOR-TYPE   Accessor: DEFAULT-VALUE-FOR-TYPE-OF
    Computes the default value from the type of the slot. Returns the (DEFAULT-VALUE . HAS-DEFAULT-P) pair.
  • Function FIND-PERSISTENT-CLASS (name)
  • Function (setf FIND-PERSISTENT-CLASS) (new-value name)
  • Function MAKE-VIEW-FOR-CLASSES-AND-SLOTS (name class-or-names slot-names)
  • Function COLLECT-STORAGE-LOCATIONS-FOR-UPDATING-CLASSES-AND-SLOTS (classes-or-class-names slot-names)
  • Function COLLECT-STORAGE-LOCATIONS-FOR-SELECTING-CLASSES-AND-SLOTS (classes-or-class-names slot-names)
  • Function MAKE-QUERY-FOR-CLASSES-AND-SLOTS (classes-or-class-names &optional slot-names)
  • Function COLLECT-ALL-PERSISTENT-CLASS-TABLES
  • Class OR-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    TYPES   Accessor: TYPES-OF
  • Class AND-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    TYPES   Accessor: TYPES-OF
  • Class NOT-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    NEGATED-TYPE   Accessor: NEGATED-TYPE-OF
  • Class SATISFIES-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    FUNCTION   Accessor: FUNCTION-OF
  • Class NIL-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Macro DEF-MEMBER-TYPE (name &body members)
  • Function UNBOUND-SLOT-MARKER-P (object)
  • Class EQL-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    VALUE   Accessor: VALUE-OF
  • Class UNBOUND-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type UNBOUND
  • Class NULL-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Class T-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Class SERIALIZED-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    BYTE-SIZE   Accessor: BYTE-SIZE-OF
  • Type SERIALIZED (&optional byte-size)
  • Class BOOLEAN-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Class INTEGER-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    MINIMUM-VALUE   Accessor: MINIMUM-VALUE-OF
    MAXIMUM-VALUE   Accessor: MAXIMUM-VALUE-OF
    BIT-SIZE   Accessor: BIT-SIZE-OF
  • Class INTEGER-8-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type INTEGER-8
  • Class INTEGER-16-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type INTEGER-16
  • Class INTEGER-32-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type INTEGER-32
  • Class INTEGER-64-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type INTEGER-64
  • Class FLOAT-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    MINIMUM-VALUE   Accessor: MINIMUM-VALUE-OF
    MAXIMUM-VALUE   Accessor: MAXIMUM-VALUE-OF
  • Class FLOAT-32-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type FLOAT-32
  • Class FLOAT-64-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type FLOAT-64
  • Class DOUBLE-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type DOUBLE
  • Class NUMBER-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Class STRING-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    LENGTH   Accessor: LENGTH-OF
    ACCEPTABLE-CHARACTERS   Accessor: ACCEPTABLE-CHARACTERS-OF
  • Class TEXT-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    MAXIMUM-LENGTH   Accessor: MAXIMUM-LENGTH-OF
    MINIMUM-LENGTH   Accessor: MINIMUM-LENGTH-OF
    ACCEPTABLE-CHARACTERS   Accessor: ACCEPTABLE-CHARACTERS-OF
  • Type TEXT (&optional maximum-length minimum-length acceptable-characters)
  • Class SYMBOL-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Class SYMBOL*-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    MAXIMUM-LENGTH   Accessor: MAXIMUM-LENGTH-OF
  • Type SYMBOL* (&optional maximum-length)
  • Class DURATION-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type DURATION
  • Class LIST-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    BYTE-SIZE   Accessor: BYTE-SIZE-OF
  • Class FORM-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    BYTE-SIZE   Accessor: BYTE-SIZE-OF
  • Type FORM (&optional byte-size)
  • Class UNSIGNED-BYTE-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    SIZE   Accessor: SIZE-OF
  • Class SIMPLE-ARRAY-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    ELEMENT-TYPE   Accessor: ELEMENT-TYPE-OF
    SIZE   Accessor: SIZE-OF
  • Class VECTOR-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    ELEMENT-TYPE   Accessor: ELEMENT-TYPE-OF
    SIZE   Accessor: SIZE-OF
  • Class UNSIGNED-BYTE-VECTOR-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    MAXIMUM-SIZE   Accessor: MAXIMUM-SIZE-OF
    MINIMUM-SIZE   Accessor: MINIMUM-SIZE-OF
  • Type UNSIGNED-BYTE-VECTOR (&optional maximum-size minimum-size)
  • Class IP-ADDRESS-VECTOR-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
  • Type IP-ADDRESS-VECTOR
  • Class PERSISTENT-ASSOCIATION  (EXPORTABLE)
    NAME   Accessor: NAME-OF
    Unique name of the association. This name can be used to find the association using find-persistent-association.
    ASSOCIATION-END-DEFINITIONS   Accessor: ASSOCIATION-END-DEFINITIONS-OF
    Canonical form of the persistent association end direct slot definitions.
    PRIMARY-ASSOCIATION-END   Accessor: PRIMARY-ASSOCIATION-END-OF
    SECONDARY-ASSOCIATION-END   Accessor: SECONDARY-ASSOCIATION-END-OF
    PRIMARY-ASSOCIATION-END-VIEW   Accessor: PRIMARY-ASSOCIATION-END-VIEW-OF
    SECONDARY-ASSOCIATION-END-VIEW   Accessor: SECONDARY-ASSOCIATION-END-VIEW-OF
    ASSOCIATION-ENDS   Accessor: ASSOCIATION-ENDS-OF
    ASSOCIATED-CLASSES   Accessor: ASSOCIATED-CLASSES-OF
    ASSOCIATION-KIND   Accessor: ASSOCIATION-KIND-OF
    Valid values are :1-1, :1-n or :m-n according to association end cardinalities.
    PRIMARY-TABLE   Accessor: PRIMARY-TABLE-OF
    The table which holds the oids of the associated instances.
  • Class PERSISTENT-ASSOCIATION-END-SLOT-DEFINITION  (PERSISTENT-SLOT-DEFINITION)
    ASSOCIATION   Accessor: ASSOCIATION-OF
    ASSOCIATED-CLASS   Accessor: ASSOCIATED-CLASS-OF
    ASSOCIATION-END-VIEW   Accessor: ASSOCIATION-END-VIEW-OF
    ASSOCIATION-END-QUERY   Accessor: ASSOCIATION-END-QUERY-OF
    The query with one parameter which returns the associated instances.
    MIN-CARDINALITY   Accessor: MIN-CARDINALITY-OF
    The minimum number of instances present in an association for this end.
    MAX-CARDINALITY   Accessor: MAX-CARDINALITY-OF
    The maximum number of instances present in an association for this end. The value NIL means the maximum number is not defined.
    CARDINALITY-KIND   Accessor: CARDINALITY-KIND-OF
    Valid values are :1, :n according to min a max cardinality.
    PRIMARY-ASSOCIATION-END   Accessor: PRIMARY-ASSOCIATION-END-P
    True iff this end is the primary association end of its association.
    SECONDARY-ASSOCIATION-END   Accessor: SECONDARY-ASSOCIATION-END-P
    True iff this end is the secondary association end of its association.
  • Class PERSISTENT-ASSOCIATION-END-DIRECT-SLOT-DEFINITION  (PERSISTENT-ASSOCIATION-END-SLOT-DEFINITION, PERSISTENT-DIRECT-SLOT-DEFINITION)
    MIN-CARDINALITY   Accessor: MIN-CARDINALITY-OF
    MAX-CARDINALITY   Accessor: MAX-CARDINALITY-OF
    OTHER-ASSOCIATION-END   Accessor: OTHER-ASSOCIATION-END-OF
  • Class PERSISTENT-ASSOCIATION-END-EFFECTIVE-SLOT-DEFINITION  (PERSISTENT-ASSOCIATION-END-SLOT-DEFINITION, PERSISTENT-EFFECTIVE-SLOT-DEFINITION)
    ASSOCIATION-END-TABLES   Accessor: ASSOCIATION-END-TABLES-OF
    MIN-CARDINALITY   Accessor: MIN-CARDINALITY-OF
    MAX-CARDINALITY   Accessor: MAX-CARDINALITY-OF
    OTHER-ASSOCIATION-END   Accessor: OTHER-ASSOCIATION-END-OF
  • Function FIND-PERSISTENT-ASSOCIATION (name)
  • Function (setf FIND-PERSISTENT-ASSOCIATION) (new-value name)
  • Function TO-ONE-ASSOCIATION-END-P (association-end)
  • Function TO-MANY-ASSOCIATION-END-P (association-end)
  • Function COLLECT-ALL-PERSISTENT-ASSOCIATION-TABLES
  • Function COLLECT-ALL-PERSISTENT-TABLES
  • Class PERSISTENT-OBJECT
    Base class for all persistent classes. If this class is not inherited by a persistent class then it is automatically added to the direct superclasses. There is only one persistent instance in a transaction with a give oid therefore eq will return true iff the oids are equal.
    OID   Accessor: OID-OF
    Life time unique identifier of the instance which can be remembered and may be used to load the instance later.
    PERSISTENT   Accessor: PERSISTENT-P
    True means the instance is known to be persistent, false means the instance is known to be transient, unbound means the state is not yet determined. Actually, in the latter case slot-value-using-class will automatically determine whether the instance is in the database or not. Therefore reading the persistent slot will always return either true or false.
    TRANSACTION   Accessor: TRANSACTION-OF
    A reference to the transaction to which this instance is currently attached to or nil.
    TRANSACTION-EVENT   Accessor: TRANSACTION-EVENT-OF
    :created means the instance was created in the current transaction, :modified means the instance was not created but modified in the current transaction. :deleted means the instance was already present at the very beginning but got deleted in the current transaction.
  • Function PERSISTENT-OBJECT-INTERNAL-SLOT-P (slot)
  • Macro WITH-MAKING-PERSISTENT-INSTANCES (&body forms)
  • Macro WITH-MAKING-TRANSIENT-INSTANCES (&body forms)
  • Method BEFORE-COMMITTING-INSTANCE ((transaction transaction-mixin) (instance persistent-object) transaction-event)
  • Method AFTER-INSTANCE-COMMITTED ((transaction transaction-mixin) (instance persistent-object) transaction-event)
  • Function P-EQ (instance-1 instance-2)
    Tests if two instances are the same persistent instance. Normally there is at most one persistent instance for each oid in a transaction so eq may be safely used. On the other hand huge transactions may require to throw away instances form the instance cache which results in several instances for the same oid within the same transaction.
  • Function PRINT-PERSISTENT-INSTANCE (instance &key (include-persistent-flag t) (include-oid t))
  • Function CREATED-P (instance)
  • Function MODIFIED-P (instance)
  • Function DELETED-P (instance)
  • Function REMOVE-INSTANCE-FROM-TRANSACTION-CACHE (instance)
    Removes an instance from the current transaction's instance cache and detaches it from the transaction. Take note that the removed instance will not be attached to the current transaction anymore, so if you later want to access some of its slots that are unfetched, then you'll need to reattach it to the transaction using LOAD-INSTANCE, or its cousine, REVIVE-INSTANCE.
  • Variable +NOT-CACHED-SLOT-MARKER+
    (hu.dwim.def::%reevaluate-constant 'hu.dwim.perec:+not-cached-slot-marker+
                                       'hu.dwim.perec:+not-cached-slot-marker+
                                       :test 'equal)
  • Macro WITH-STORING-EQUAL-SLOT-VALUES (&body forms)
  • Macro WITHOUT-STORING-EQUAL-SLOT-VALUES (&body forms)
  • Function INVALIDATE-CACHED-INSTANCE (instance)
    Invalidates all cached slot values in the instance.
  • Function BEST-EFFORT-SLOT-VALUE (instance slot-designator)
    Tries to get the slot value without signaling any errors. If there's a transaction and the slot is not cached, then fetches it from the db. Otherwise just blindly returns the value from the slot, including the symbols +NOT-CACHED-SLOT-MARKER+ and +UNBOUND-SLOT-MARKER+.
  • Generic-Function LOAD-INSTANCE (thing &key otherwise prefetch skip-existence-check copy-cached-slot-values)
    Loads an instance with the given oid and attaches it with the current transaction if not yet attached. If no such instance exists in the database then one of two things may happen. If the value of otherwise is a lambda function with one parameter then it is called with the given instance. Otherwise the value of otherwise is returned. If prefetch is false then only the identity of the instance is loaded, otherwise all slots are loaded. Note that the instance may not yet be committed into the database and therefore may not be seen by other transactions. Also instances not yet committed by other transactions are not returned according to transaction isolation rules. The instance returned will be kept for the duration of the transaction and any subsequent calls to load, select, etc. will return the exact same instance for which eq is required to return #t.
  • Method LOAD-INSTANCE ((oid integer) &key (otherwise nil otherwise-provided-p) (prefetch nil) (skip-existence-check nil) &allow-other-keys)
  • Method LOAD-INSTANCE ((oid integer) &key (otherwise nil otherwise-provided-p) (prefetch nil) (skip-existence-check nil) &allow-other-keys)
  • Method LOAD-INSTANCE ((oid integer) &key (otherwise nil otherwise-provided-p) (prefetch nil) (skip-existence-check nil) &allow-other-keys)
  • Method LOAD-INSTANCE ((instance persistent-object) &rest args &key (skip-existence-check nil) (copy-cached-slot-values nil) &allow-other-keys)
  • Method LOAD-INSTANCE ((instance persistent-object) &rest args &key (skip-existence-check nil) (copy-cached-slot-values nil) &allow-other-keys)
  • Method LOAD-INSTANCE ((instance persistent-object) &rest args &key (skip-existence-check nil) (copy-cached-slot-values nil) &allow-other-keys)
  • Generic-Function PURGE-INSTANCE (instance)
    Purges the given instance without respect to associations and references to it.
  • Method PURGE-INSTANCE ((instance persistent-object))
  • Method PURGE-INSTANCE ((instance persistent-object))
  • Method PURGE-INSTANCE ((instance persistent-object))
  • Generic-Function PURGE-INSTANCES (class)
    Purges all instances of the given class without respect to associations and references thus it may introduce new broken references.
  • Method PURGE-INSTANCES ((class persistent-class))
  • Method PURGE-INSTANCES ((class persistent-class))
  • Method PURGE-INSTANCES ((class persistent-class))
  • Method PURGE-INSTANCES ((classes-or-names sequence))
  • Method PURGE-INSTANCES ((classes-or-names sequence))
  • Method PURGE-INSTANCES ((classes-or-names sequence))
  • Method PURGE-INSTANCES ((name symbol))
  • Method PURGE-INSTANCES ((name symbol))
  • Method PURGE-INSTANCES ((name symbol))
  • Method PURGE-INSTANCES ((name null))
  • Method PURGE-INSTANCES ((name null))
  • Method PURGE-INSTANCES ((name null))
  • Function PURGE-INSTANCE-RECURSIVELY (instance &key (skip-predicate (constantly nil)))
    Recursively purges INSTANCE and a minimal set of other instances that refer to it. Makes sure that the database integrity is kept, i.e. no broken references are introduced.
  • Generic-Function LOCK-CLASS (class &key wait)
    Lock all instances in the current transaction. If wait is false and the class cannot be locked then returns #f otherwise returns #t.
  • Method LOCK-CLASS ((class-name symbol) &key (wait t))
  • Method LOCK-CLASS ((class-name symbol) &key (wait t))
  • Method LOCK-CLASS ((class-name symbol) &key (wait t))
  • Method LOCK-CLASS ((class persistent-class) &key (wait t))
  • Method LOCK-CLASS ((class persistent-class) &key (wait t))
  • Method LOCK-CLASS ((class persistent-class) &key (wait t))
  • Generic-Function LOCK-INSTANCE (instance &key wait)
    Lock instance in the current transaction. If wait is false and the instance cannot be locked then returns #f otherwise returns #t.
  • Method LOCK-INSTANCE ((instance persistent-object) &key (wait t))
  • Method LOCK-INSTANCE ((instance persistent-object) &key (wait t))
  • Method LOCK-INSTANCE ((instance persistent-object) &key (wait t))
  • Generic-Function LOCK-SLOT (instance slot &key wait)
    Lock a slot for an instance in the current transaction. If wait is false and the slot cannot be locked then returns #f otherwise returns #t.
  • Method LOCK-SLOT ((instance persistent-object) (slot persistent-effective-slot-definition) &key (wait t))
  • Method LOCK-SLOT ((instance persistent-object) (slot persistent-effective-slot-definition) &key (wait t))
  • Method LOCK-SLOT ((instance persistent-object) (slot persistent-effective-slot-definition) &key (wait t))
  • Method LOCK-SLOT ((instance persistent-object) (slot symbol) &key (wait t))
  • Method LOCK-SLOT ((instance persistent-object) (slot symbol) &key (wait t))
  • Method LOCK-SLOT ((instance persistent-object) (slot symbol) &key (wait t))
  • Generic-Function COUNT-INSTANCES (class)
    Counts all instances of the given class
  • Method COUNT-INSTANCES ((class persistent-class))
  • Method COUNT-INSTANCES ((class persistent-class))
  • Method COUNT-INSTANCES ((class persistent-class))
  • Method COUNT-INSTANCES ((class-name symbol))
  • Method COUNT-INSTANCES ((class-name symbol))
  • Method COUNT-INSTANCES ((class-name symbol))
  • Macro REVIVE-INSTANCE (place &rest args)
    Load instance found in PLACE into the current transaction, update PLACE if needed. The instance being revived cannot be part of another ongoing transaction. Use load-instance if that is needed.
  • Macro REVIVE-INSTANCES (&rest places)
  • Macro WITH-REVIVED-INSTANCES (instances &body body)
    Rebind the variables specified in INSTANCES, revive them in the current transaction and execute BODY in this lexical environment.
  • Macro WITH-REVIVED-INSTANCE (instance &body body)
    See WITH-REVIVED-INSTANCES.
  • Macro WITH-RELOADED-INSTANCES (instances &body body)
    Rebind the variables specified in INSTANCES, reload them in the current transaction and execute BODY in this lexical environment. If an entry is a list then bind with the first form and reload the second form.
  • Macro WITH-RELOADED-INSTANCE (instance &body body)
    See WITH-RELOADED-INSTANCES.
  • Method MAKE-PERSISTENT-USING-CLASS (class (instance persistent-object))
  • Method MAKE-TRANSIENT-USING-CLASS (class (instance persistent-object))
  • Function SIGNAL-BROKEN-REFERENCES
  • Function SIGNAL-BROKEN-INSTANCES
  • Function SIGNAL-BROKEN-DATABASE
  • Function WRITE-PERSISTENT-OBJECT-BY-OID (-object- -context-)
  • Function READ-PERSISTENT-OBJECT-BY-OID (-context- &optional -referenced-)
  • Type SET (&optional element-type)
  • Type DISJUNCT-SET (&optional element-type)
  • Type ORDERED-SET (&optional element-type by)
  • Method ENSURE-ITEM ((set persistent-slot-set-container) (item persistent-object))
  • Method LIST-OF ((set persistent-slot-set-container))
  • Method (setf LIST-OF) (new-value (set persistent-slot-set-container))
  • Method ITERATE-ITEMS ((set persistent-slot-set-container) function)
  • Class PERSISTENT-SET-ELEMENT
    No slots.
  • Class PERSISTENT-SET
    No slots.
  • Method LIST-OF ((set persistent-set))
  • Method (setf LIST-OF) (items (set persistent-set))
  • Method ITERATE-ITEMS ((set persistent-set) function)
  • Method LIST-OF ((set persistent-1-n-association-end-set-container))
  • Method (setf LIST-OF) (new-value (set persistent-1-n-association-end-set-container))
  • Method LIST-OF ((set persistent-m-n-association-end-set-container))
  • Method (setf LIST-OF) (new-value (set persistent-m-n-association-end-set-container))
  • Function COPY-PERSISTENT-INSTANCE (thing)
  • Function COPY-INTO-TRANSACTION-CACHE (thing)
  • Function EXPORT-PERSISTENT-CLASSES-TO-DATABASE-SCHEMA
  • Generic-Function EXPORT-PERSISTENT-INSTANCES (thing format stream &key &allow-other-keys)
  • Generic-Function IMPORT-PERSISTENT-INSTANCES (format stream &key &allow-other-keys)
  • Method EXPORT-PERSISTENT-INSTANCES (thing (format (eql :binary)) stream &key (persistent-object-serializer #'write-persistent-object-slot-values) &allow-other-keys)
  • Method IMPORT-PERSISTENT-INSTANCES ((format (eql :binary)) stream &key (persistent-object-deserializer #'read-persistent-object-slot-values) &allow-other-keys)
  • Function WRITE-PERSISTENT-OBJECT-SLOT-VALUES (instance context &key exclude-slots)
  • Function READ-PERSISTENT-OBJECT-SLOT-VALUES (prototype-or-class-name context &optional (persistp t))
  • Function DUMP-PERSISTENT-OBJECT-SLOT-VALUES (prototype-or-class-name context)
  • Macro SELECT (&whole select-form (&rest select-list) &body clauses &environment env)
    Selects object from the model. Syntax: select [<options>] <select-list> <from clause> [<where-clause>] [<group-by-clause> [<having-clause>]] [<order-by-clause>] [<offset-clause>] [<limit-clause>] <options>: (&key result-type flatp uniquep) <select-list>: (<expr>*) <from-clause>: (<variable-spec>*) <variable-spec>: <symbol> | (<symbol> <type-expr>) <where-clause>: (where <bool-expr>) <group-by-clause>: (group-by <expr>*) <having-clause>: (having <bool-expr>) <order-by-clause>: (order-by <order-spec>*) <order-spec>: :ascending|:descending <expr> <offset-clause>: (offset <integer>) <limit-clause>: (limit <integer>) Semantics: Analogous to SQL: First the cartesian product of the set of objects specified by the FROM clause is created. Then the product is filtered by the WHERE clause and projected according to the SELECT-LIST. Finally the result is sorted according to the ORDER-BY clause. Options may modify the result: result-type: (member 'list 'scroll) If the value is 'scroll then the result of the query returned as an instance of the 'scroll class. If the value is 'list the the result is a list. Default is 'list. flatp: generalized-boolean If true and the result-type is 'list then result is a flattened list, i.e. the select list expressions are appended rather than added to the result. Default is true for one element select lists, false otherwise. uniquep: generalized-boolean If true then the value of the select list will not be added to the result, when it is equal to a previously seen value. prefetch-mode: (member :none :accessed :all) Determines which slots filled in the cached objects returned by the query. If :none then only the oid is filled in, if :accessed then only the slots that are stored in accessed tables are filled in, if :all then all slots are filled in. Default is :accessed. Example: (let ((yesterday (day-before-today))) (select ((name-of topic) message) (from (topic topic) message) (where (and (typep message 'message) (eq (topic-of message) topic) (after (date-of message) yesterday)))))
  • Macro PURGE (&whole purge-form (&rest purge-list) &body clauses &environment env)
    TODO
  • Macro UPDATE (&whole update-form (&rest update-list) &body clauses &environment env)
    (update (instance user) (set (name-of user) "JD") (from ...) (where (string= (name-of user) "BB")))
  • Macro SIMPLE-SELECT (options variable &body body)
  • Macro SELECT-FIRST-MATCHING-INSTANCE (&optional variable &body body)
  • Macro SELECT-LAST-MATCHING-INSTANCE (&optional variable &body body)
  • Macro SELECT-SIMILAR-INSTANCE (type &rest rest &key &allow-other-keys)
  • Macro SELECT-SIMILAR-INSTANCES (type &rest rest &key &allow-other-keys)
  • Macro SELECT-INSTANCE (&optional variable &body body)
  • Macro SELECT-INSTANCES (&optional variable &body body)
    Select objects using one variable and collect the values of that variable based upon a set of asserts.
  • Macro SELECT-THE-ONLY-ONE (&whole select-form (&rest select-list) &body clauses)
  • Generic-Function EXECUTE-QUERY (query &rest lexical-variable-values)
    Executes the query with the given variable values, compiles the query when needed.
  • Generic-Function EXECUTE-QUERY (query &rest lexical-variable-values)
    Executes the query with the given variable values, compiles the query when needed.
  • Generic-Function MAKE-QUERY (select-form &optional lexical-variables)
    Creates a query object from the SELECT-FORM. When the SELECT-FORM is NIL, an empty query created which can be modified by ADD-LEXICAL-VARIABLE, ADD-QUERY-VARIABLE, ADD-ASSERT and ADD-COLLECT
  • Generic-Function MAKE-QUERY (select-form &optional lexical-variables)
    Creates a query object from the SELECT-FORM. When the SELECT-FORM is NIL, an empty query created which can be modified by ADD-LEXICAL-VARIABLE, ADD-QUERY-VARIABLE, ADD-ASSERT and ADD-COLLECT
  • Generic-Function ADD-LEXICAL-VARIABLE (query variable)
    Add a lexical variable named VARIABLE to the QUERY. Lexical variables can be referenced in the asserts and collects of the query and their values are passed to EXECUTE-QUERY in the order they are added to the QUERY.
  • Generic-Function ADD-LEXICAL-VARIABLE (query variable)
    Add a lexical variable named VARIABLE to the QUERY. Lexical variables can be referenced in the asserts and collects of the query and their values are passed to EXECUTE-QUERY in the order they are added to the QUERY.
  • Generic-Function ADD-QUERY-VARIABLE (query variable)
    Add a query variable named VARIABLE to the QUERY. Query variables can be referenced in the asserts and collects of the QUERY.
  • Generic-Function ADD-QUERY-VARIABLE (query variable)
    Add a query variable named VARIABLE to the QUERY. Query variables can be referenced in the asserts and collects of the QUERY.
  • Generic-Function ADD-ASSERT (query condition)
    Add an assert for the CONDITION form to the QUERY.
  • Generic-Function ADD-ASSERT (query condition)
    Add an assert for the CONDITION form to the QUERY.
  • Generic-Function ADD-COLLECT (query expression)
    Add a collect for the EXPRESSION form to the QUERY.
  • Generic-Function ADD-COLLECT (query expression)
    Add a collect for the EXPRESSION form to the QUERY.
  • Generic-Function ADD-ORDER-BY (query expression &optional direction)
    Add an order-by clause specified by EXPRESSION and DIRECTION to the QUERY.
  • Generic-Function ADD-ORDER-BY (query expression &optional direction)
    Add an order-by clause specified by EXPRESSION and DIRECTION to the QUERY.
  • Function COPY-QUERY (thing)
  • Macro DEFINE-QUERY-MACRO (name (&rest args) &body body)
    Defines name as a query macro.
  • Function LIKE (string pattern &key (start 0) end (case-sensitive-p t))
    Matches STR with PATTERN. In the pattern _ and % wildcards can be used
  • Function RE-LIKE (string pattern &key (start 0) end (case-sensitive-p t))
  • Function COALESCE (&rest values)
    Returns the first of its arguments that is not nil. Nil is returned only if all arguments are nil.
  • Function VOLATILE (x)
  • Function STATIC (x)
  • Function SQL-TEXT (string)
  • Class SCROLL
    No slots.
  • Generic-Function ELEMENTS (scroll)
    Return the elements on the current page
  • Generic-Function ELEMENTS (scroll)
    Return the elements on the current page
  • Generic-Function PAGE (scroll)
  • Generic-Function PAGE (scroll)
  • Generic-Function (setf PAGE) (page scroll)
  • Generic-Function (setf PAGE) (page scroll)
  • Method (setf PAGE) (page (scroll scroll))
  • Method (setf PAGE) (page (scroll scroll))
  • Method (setf PAGE) (page (scroll scroll))
  • Generic-Function PAGE-SIZE (scroll)
  • Generic-Function PAGE-SIZE (scroll)
  • Generic-Function (setf PAGE-SIZE) (page-size scroll)
  • Generic-Function (setf PAGE-SIZE) (page-size scroll)
  • Generic-Function FIRST-PAGE! (scroll)
  • Generic-Function FIRST-PAGE! (scroll)
  • Method FIRST-PAGE! ((scroll scroll))
  • Method FIRST-PAGE! ((scroll scroll))
  • Method FIRST-PAGE! ((scroll scroll))
  • Generic-Function NEXT-PAGE! (scroll)
    Should return the current page number or nil if there are no more pages.
  • Generic-Function NEXT-PAGE! (scroll)
    Should return the current page number or nil if there are no more pages.
  • Method NEXT-PAGE! ((scroll scroll))
  • Method NEXT-PAGE! ((scroll scroll))
  • Method NEXT-PAGE! ((scroll scroll))
  • Generic-Function PREVIOUS-PAGE! (scroll)
  • Generic-Function PREVIOUS-PAGE! (scroll)
  • Method PREVIOUS-PAGE! ((scroll scroll))
  • Method PREVIOUS-PAGE! ((scroll scroll))
  • Method PREVIOUS-PAGE! ((scroll scroll))
  • Class FIXED-SIZE-SCROLL  (SCROLL)
    No slots.
  • Generic-Function PAGE-COUNT (fixed-size-scroll)
  • Generic-Function PAGE-COUNT (fixed-size-scroll)
  • Generic-Function ELEMENT-COUNT (fixed-size-scroll)
  • Generic-Function ELEMENT-COUNT (fixed-size-scroll)
  • Generic-Function LAST-PAGE! (scroll)
  • Generic-Function LAST-PAGE! (scroll)
  • Method LAST-PAGE! ((scroll fixed-size-scroll))
  • Method LAST-PAGE! ((scroll fixed-size-scroll))
  • Method LAST-PAGE! ((scroll fixed-size-scroll))
  • Method NEXT-PAGE! ((scroll fixed-size-scroll))
  • Method (setf PAGE) (page (scroll fixed-size-scroll))
  • Class SIMPLE-SCROLL  (FIXED-SIZE-SCROLL)
    Provides the fixed-size-scroll interface for a vector of elements.
    ELEMENTS   Accessor: ELEMENTS-OF
    PAGE   Accessor: PAGE
    PAGE-SIZE   Accessor: PAGE-SIZE
  • Method ELEMENT-COUNT ((scroll simple-scroll))
  • Method PAGE-COUNT ((scroll simple-scroll))
  • Method ELEMENTS ((scroll simple-scroll))
  • Class RESULT-SET
    No slots.
  • Method ELEMENT-COUNT ((scroll result-set-scroll))
  • Method PAGE-COUNT ((scroll result-set-scroll))
  • Method ELEMENTS ((scroll result-set-scroll))
  • Variable *COMPILED-QUERY-CACHE*
  • Macro WITH-COMPILED-QUERY-CACHE (cache &body with-body1)
  • Macro WITH-NEW-COMPILED-QUERY-CACHE (&body body)
  • Function MAKE-COMPILED-QUERY-CACHE
  • Function CLEAR-COMPILED-QUERY-CACHE (&optional (cache *compiled-query-cache*))
  • Method EXECUTE-QUERY ((query query) &rest lexical-variable-values)
  • Method EXECUTE-QUERY ((query cons) &rest lexical-variable-values)
  • Method ADD-LEXICAL-VARIABLE ((query query) variable-name)
  • Method ADD-QUERY-VARIABLE ((query query) variable-name)
  • Method ADD-ASSERT ((query query) condition)
  • Method ADD-COLLECT ((query query) expression)
  • Method ADD-ORDER-BY ((query query) expression &optional (direction :ascending))
  • Class QUERY-BUILDER  (COPYABLE-MIXIN)
    CURRENT-QUERY-VARIABLE   Accessor: CURRENT-QUERY-VARIABLE-OF
  • Class SIMPLE-QUERY-BUILDER  (QUERY-BUILDER, QUERY)
    No slots.
  • Method ADD-QUERY-VARIABLE ((query query-builder) variable-name)
  • Method ADD-ASSERT ((query simple-query-builder) condition)
  • Method ADD-COLLECT ((query simple-query-builder) expression)
  • Method ADD-ORDER-BY ((query simple-query-builder) expression &optional (direction :ascending))
  • Method MAKE-QUERY ((select-form null) &optional lexical-variables)
  • Method MAKE-QUERY ((form cons) &optional lexical-variables)
  • Variable *ENABLE-PARTIAL-EVAL*
  • Function FIND-CONSTRAINT (name)
  • Function (setf FIND-CONSTRAINT) (new-value name)
  • Macro DEFCONSTRAINT (name &body body)
  • Condition PERSISTENT-CONSTRAINT-VIOLATION  (ERROR)
  • Condition PERSISTENT-CLASS-CONSTRAINT-VIOLATION  (PERSISTENT-CONSTRAINT-VIOLATION)
  • Condition PERSISTENT-SLOT-CONSTRAINT-VIOLATION  (PERSISTENT-CLASS-CONSTRAINT-VIOLATION)
  • Generic-Function CHECK-CONSTRAINT (constraint)
    Checks whether the constraint is violated in the current transaction and signals constraint violation errors.
  • Method CHECK-CONSTRAINT ((constraint persistent-constraint))
  • Method CHECK-CONSTRAINT ((constraint persistent-constraint))
  • Method CHECK-CONSTRAINT ((constraint persistent-constraint))
  • Function CHECK-ALL-CONSTRAINTS (&key (signal-constraint-violations *signal-constraint-violations*))
  • Function WHOLE-DOMAIN-MARKER-P (object)
  • Class DIMENSION
    NAME   Accessor: NAME-OF
    The name of the dimension.
    DEPENDENT-OBJECT-NAME   Accessor: DEPENDENT-OBJECT-NAME-OF
    The name of the persistent class used to hold instances with coordinates in this dimension.
    TYPE   Accessor: THE-TYPE-OF
    The type of coordinate system in this the dimension.
    COORDINATE-NAME   Accessor: COORDINATE-NAME-OF
    The name of the special variable that holds the current coordinate for this dimension.
    DEFAULT-COORDINATE   Accessor: DEFAULT-COORDINATE-OF
    A function which computes the default coordinate value for this dimension when the special variable is unbound.
    DOCUMENTATION   Accessor: DOCUMENTATION-OF
    A documentation string.
  • Class ORDERING-DIMENSION  (DIMENSION)
    COORDINATE-BEGIN-NAME   Accessor: COORDINATE-BEGIN-NAME-OF
    COORDINATE-END-NAME   Accessor: COORDINATE-END-NAME-OF
    DEFAULT-COORDINATE-BEGIN   Accessor: DEFAULT-COORDINATE-BEGIN-OF
    DEFAULT-COORDINATE-END   Accessor: DEFAULT-COORDINATE-END-OF
    MINIMUM-COORDINATE   Accessor: MINIMUM-COORDINATE-OF
    MAXIMUM-COORDINATE   Accessor: MAXIMUM-COORDINATE-OF
  • Class INHERITING-DIMENSION  (ORDERING-DIMENSION)
    DIRECTION   Accessor: DIRECTION-OF
    The direction along which values assigned to different coordinates are inherited.
  • Function FIND-DIMENSION (name &key (otherwise :error otherwise?))
  • Function (setf FIND-DIMENSION) (value name)
  • Function LOOKUP-DIMENSION (dimension)
  • Function COORDINATE (dimension)
  • Function MAKE-DIMENSION-COORDINATE-RANGE (dimension begin-or-range &optional (end begin-or-range))
  • Function COORDINATE-BEGIN (dimension)
  • Function COORDINATE-END (dimension)
  • Function DOMAIN (dimension)
  • Function CALL-WITH-COORDINATE (fn689 dimension coordinate)
  • Macro WITH-COORDINATE (dimension coordinate &body with-body690)
  • Function CALL-WITH-COORDINATES (fn729 dimensions coordinates)
  • Macro WITH-COORDINATES (dimensions coordinates &body with-body730)
  • Function H-UNUSED-SLOT-MARKER-P (object)
  • Class EQL-TYPE  (PERSISTENT-TYPE)
    NAME   Accessor: NAME-OF
    ARGS   Accessor: ARGS-OF
    BODY   Accessor: BODY-OF
    SUBSTITUTER   Accessor: SUBSTITUTER-OF
    PARSER   Accessor: PARSER-OF
    VALUE   Accessor: VALUE-OF
  • Type COORDINATE
  • Function COORDINATE-P (value)
  • Generic-Function ORDERING-COORDINATE= (coordinate-1 coordinate-2)
  • Method ORDERING-COORDINATE= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method ORDERING-COORDINATE= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method ORDERING-COORDINATE= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method ORDERING-COORDINATE= ((coordinate-1 number) (coordinate-2 number))
  • Method ORDERING-COORDINATE= ((coordinate-1 number) (coordinate-2 number))
  • Method ORDERING-COORDINATE= ((coordinate-1 number) (coordinate-2 number))
  • Method ORDERING-COORDINATE= (coordinate-1 coordinate-2)
  • Method ORDERING-COORDINATE= (coordinate-1 coordinate-2)
  • Method ORDERING-COORDINATE= (coordinate-1 coordinate-2)
  • Generic-Function COORDINATE< (coordinate-1 coordinate-2)
  • Method COORDINATE< ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE< ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE< ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE< ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE< ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE< ((coordinate-1 number) (coordinate-2 number))
  • Generic-Function COORDINATE<= (coordinate-1 coordinate-2)
  • Method COORDINATE<= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE<= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE<= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE<= ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE<= ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE<= ((coordinate-1 number) (coordinate-2 number))
  • Generic-Function COORDINATE> (coordinate-1 coordinate-2)
  • Method COORDINATE> ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE> ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE> ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE> ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE> ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE> ((coordinate-1 number) (coordinate-2 number))
  • Generic-Function COORDINATE>= (coordinate-1 coordinate-2)
  • Method COORDINATE>= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE>= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE>= ((coordinate-1 timestamp) (coordinate-2 timestamp))
  • Method COORDINATE>= ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE>= ((coordinate-1 number) (coordinate-2 number))
  • Method COORDINATE>= ((coordinate-1 number) (coordinate-2 number))
  • Function COORDINATE-MIN (coordinate-1 coordinate-2)
  • Function COORDINATE-MAX (coordinate-1 coordinate-2)
  • Type BOUNDS
  • Variable +II-BOUNDS+
    (hu.dwim.def::%reevaluate-constant 'hu.dwim.perec:+ii-bounds+ 'hu.dwim.perec:ii
                                       :test 'equal)
  • Variable +IE-BOUNDS+
    (hu.dwim.def::%reevaluate-constant 'hu.dwim.perec:+ie-bounds+ 'hu.dwim.perec:ie
                                       :test 'equal)
  • Variable +EI-BOUNDS+
    (hu.dwim.def::%reevaluate-constant 'hu.dwim.perec:+ei-bounds+ 'hu.dwim.perec:ei
                                       :test 'equal)
  • Variable +EE-BOUNDS+
    (hu.dwim.def::%reevaluate-constant 'hu.dwim.perec:+ee-bounds+ 'hu.dwim.perec:ee
                                       :test 'equal)
  • Function MAKE-BOUNDS (begin-inclusive end-inclusive)
  • Function BEGIN-INCLUSIVE-P (bounds)
  • Function BEGIN-EXCLUSIVE-P (bounds)
  • Function END-INCLUSIVE-P (bounds)
  • Function END-EXCLUSIVE-P (bounds)
  • Type COORDINATE-RANGE
  • Function COORDINATE-RANGE-P (value)
  • Function MAKE-COORDINATE-RANGE (bounds begin end)
  • Function MAKE-EMPTY-COORDINATE-RANGE (coordinate)
  • Function MAKE-IE-COORDINATE-RANGE (begin &optional (end begin))
  • Function MAKE-II-COORDINATE-RANGE (begin &optional (end begin))
  • Function COORDINATE-RANGE-BOUNDS (range)
  • Function COORDINATE-RANGE-BEGIN (range)
  • Function COORDINATE-RANGE-END (range)
  • Function COORDINATE-RANGE-EMPTY-P (range)
  • Function SINGLE-COORDINATE-RANGE-VALUE (range)
  • Function OVERLAPPING-RANGE-P (range-1 range-2)
  • Generic-Function COORDINATE= (coordinate-1 coordinate-2)
  • Method COORDINATE= ((coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE= ((coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE= ((coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE= ((coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE= ((coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE= ((coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE= (coordinate-1 (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE= (coordinate-1 (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE= (coordinate-1 (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE= ((coordinate-1 (eql +whole-domain-marker+)) coordinate-2)
  • Method COORDINATE= ((coordinate-1 (eql +whole-domain-marker+)) coordinate-2)
  • Method COORDINATE= ((coordinate-1 (eql +whole-domain-marker+)) coordinate-2)
  • Method COORDINATE= (coordinate-1 coordinate-2)
  • Method COORDINATE= (coordinate-1 coordinate-2)
  • Method COORDINATE= (coordinate-1 coordinate-2)
  • Generic-Function COORDINATE-EQUAL (dimension coordinate-1 coordinate-2)
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 cons) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 cons) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 cons) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cons))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cons))
  • Method COORDINATE-EQUAL ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cons))
  • Method COORDINATE-EQUAL (dimension coordinate-1 coordinate-2)
  • Method COORDINATE-EQUAL (dimension coordinate-1 coordinate-2)
  • Method COORDINATE-EQUAL (dimension coordinate-1 coordinate-2)
  • Generic-Function COVERING-COORDINATE-P (dimension cover coordinate)
  • Method COVERING-COORDINATE-P ((dimension ordering-dimension) (cover cons) (coordinate cons))
  • Method COVERING-COORDINATE-P ((dimension ordering-dimension) (cover cons) (coordinate cons))
  • Method COVERING-COORDINATE-P ((dimension ordering-dimension) (cover cons) (coordinate cons))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cooked-instance-set) (coordinate cooked-instance-set))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cooked-instance-set) (coordinate cooked-instance-set))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cooked-instance-set) (coordinate cooked-instance-set))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cons) (coordinate cons))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cons) (coordinate cons))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cons) (coordinate cons))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cooked-instance-set) (coordinate (eql +whole-domain-marker+)))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cooked-instance-set) (coordinate (eql +whole-domain-marker+)))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover cooked-instance-set) (coordinate (eql +whole-domain-marker+)))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover list) (coordinate (eql +whole-domain-marker+)))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover list) (coordinate (eql +whole-domain-marker+)))
  • Method COVERING-COORDINATE-P ((dimension dimension) (cover list) (coordinate (eql +whole-domain-marker+)))
  • Generic-Function COORDINATE-INTERSECTION (dimension coordinate-1 coordinate-2)
  • Method COORDINATE-INTERSECTION ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cons) (coordinate-2 null))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cons) (coordinate-2 null))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 cons) (coordinate-2 null))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 null) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 null) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 null) (coordinate-2 cons))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 null) (coordinate-2 null))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 null) (coordinate-2 null))
  • Method COORDINATE-INTERSECTION ((dimension dimension) (coordinate-1 null) (coordinate-2 null))
  • Generic-Function COORDINATE-UNION (dimension coordinate-1 coordinate-2)
  • Method COORDINATE-UNION ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-UNION ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-UNION ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-UNION ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-UNION ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-UNION ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-UNION ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-UNION ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-UNION ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Generic-Function COORDINATE-DIFFERENCE (dimension coordinate-1 coordinate-2)
  • Method COORDINATE-DIFFERENCE ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension ordering-dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cooked-instance-set) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cons) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 t) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 t) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 t) (coordinate-2 (eql +whole-domain-marker+)))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cooked-instance-set))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 cons))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 (eql +whole-domain-marker+)) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cons) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cons) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 cons) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 null) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 null) (coordinate-2 null))
  • Method COORDINATE-DIFFERENCE ((dimension dimension) (coordinate-1 null) (coordinate-2 null))
  • Function COORDINATES= (coordinates-1 coordinates-2)
  • Function COORDINATES-EQUAL (dimensions coordinates-1 coordinates-2)
  • Function MAKE-EMPTY-COORDINATES (dimensions)
  • Function COLLECT-SUBCOORDINATES (dimensions sub-dimensions coordinates)
  • Function COVERING-COORDINATES-P (dimensions cover-coordinates coordinates)
  • Function COORDINATES-INTERSECTION (dimensions coordinates-1 coordinates-2)
  • Function COORDINATES-UNION (dimensions coordinates-1 coordinates-2)
  • Function COORDINATES-DIFFERENCE (dimensions coordinates-1 coordinates-2)
    Returns the difference of COORDINATES-1 and COORDINATES-2 as a coordinates list.
  • Function C-VALUE-P (value)
  • Function PRINT-C-VALUE (c-value &optional (stream t))
  • Function MAKE-C-VALUE (coordinates value)
  • Function COPY-C-VALUE (c-value)
  • Function C-VALUE-EQUAL (dimensions c-value-1 c-value-2 &key (test #'eql))
  • Class D-VALUE
    DIMENSIONS   Accessor: DIMENSIONS-OF
    C-VALUES   Accessor: C-VALUES-OF
    INDEX   Accessor: INDEX-OF
  • Function D-VALUE-P (value)
  • Variable *PRINT-D-VALUE-DETAILS*
  • Function PRINT-D-VALUE (d-value &optional (stream t))
  • Function MAKE-EMPTY-D-VALUE (dimensions)
  • Function MAKE-SINGLE-D-VALUE (dimensions coordinates value)
  • Function MAKE-D-VALUE (dimensions coordinates-list values)
  • Function EMPTY-D-VALUE-P (d-value)
  • Function SINGLE-D-VALUE-P (d-value)
  • Function SINGLE-D-VALUE (d-value)
  • Function DIMENSION-POSITION (d-value dimension)
  • Function SINGLE-D-VALUE-COORDINATE (d-value dimension)
  • Function D-VALUE-DIMENSION-COORDINATE-LIST (d-value dimension &key (mode :union))
  • Function D-VALUES-HAVE-SAME-DIMENSIONS-P (d-values)
  • Function COPY-D-VALUE (d-value)
  • Function D-VALUE-EQUAL (d-value-1 d-value-2 &key (test #'eql))
  • Function COVERING-D-VALUE-P (d-value coordinates)
  • Function SINGLE-VALUE-AT-COORDINATES (d-value coordinates &key (otherwise :error))
  • Function VALUE-AT-COORDINATES (d-value coordinates)
  • Function (setf VALUE-AT-COORDINATES) (new-value d-value coordinates)
  • Function (setf INTO-D-VALUE) (new-d-value d-value)
  • Function COORDINATE-LIST-UNION (dimension coordinate-list)
  • Function OVERLAPPING-COORDINATE-LIST-SELF-INTERSECTION (dimension coordinate-list)
  • Function OVERLAPPING-COORDINATES-LIST-SELF-INTERSECTION (dimensions coordinates-list)
  • Function INSERT-AT-COORDINATES (d-value coordinates value &key (test #'eql))
  • Function DELETE-AT-COORDINATES (d-value coordinates value &key (test #'eql))
  • Function CLEAR-AT-COORDINATES (d-value coordinates value &key (test #'eql))
  • Function PRINT-D-VALUE-DIFFERENCES (d-value-1 d-value-2 &key (test #'eql) unspecified-value)
  • Function MAP-D-VALUE (d-value function)
  • Function MAPCAR-D-VALUE (d-value function)
  • Function MAP-D-VALUES (function d-values &key unspecified-value)
  • Function D-APPLY (function d-values &key (unspecified-value :signal-default-error))
  • Function D-PROJECT (function projection-dimensions d-value)
  • Function D-FOLD (function folded-dimensions d-value &key initial-value)
  • Function REMOVE-DIMENSIONS (d-value dimensions)
  • Function D-VOLUME (d-value &key (volume-function #'*))
  • Function D-EQUAL (d-value-1 d-value-2)
  • Function D= (d-value &rest d-values)
  • Function D+ (&rest d-values)
  • Function D- (d-value &rest d-values)
  • Function D* (&rest d-values)
  • Function D/ (d-value &rest d-values)
  • Macro D-INCF (place delta)
  • Macro D-DECF (place delta)
  • Variable *TIME-DIMENSION*
  • Class TIME-DEPENDENT-OBJECT
    TIME   Accessor: TIME-OF
  • Macro WITH-TIME (time &body forms)
  • Variable *TIME*
  • Function CALL-WITH-TIME (time thunk)
  • Macro WITH-TIME-RANGE (time-begin time-end &body forms)
  • Macro WITH-TIME-FROM (begin &body forms)
  • Macro WITH-TIME-TO (end &body forms)
  • Function CALL-WITH-TIME-RANGE (time-begin time-end thunk)
  • Variable *VALIDITY-DIMENSION*
  • Class VALIDITY-DEPENDENT-OBJECT
    VALIDITY-BEGIN   Accessor: VALIDITY-BEGIN-OF
    VALIDITY-END   Accessor: VALIDITY-END-OF
  • Macro WITH-VALIDITY (validity &body forms)
  • Variable *VALIDITY*
  • Function CALL-WITH-VALIDITY (validity thunk)
  • Macro WITH-VALIDITY-RANGE (validity-begin validity-end &body forms)
  • Macro WITH-VALIDITY-FROM (begin &body forms)
  • Macro WITH-VALIDITY-TO (end &body forms)
  • Function CALL-WITH-VALIDITY-RANGE (validity-begin validity-end thunk)
  • Variable *ENUMERATED-DIMENSION*
  • Variable *ENUMERATED*
  • Macro WITH-ENUMERATED (coordinate-value &body with-body125)
  • Class PERSISTENT-CLASS-D  (PERSISTENT-CLASS)
    A dimensional slot value is cached in the underlying slot in d-value.
    PERSISTENT-EFFECTIVE-SLOT-DS   Accessor: PERSISTENT-EFFECTIVE-SLOT-DS-OF
    H-CLASS   Accessor: H-CLASS-OF
    The history class generated for this t class.
    PARENT-SLOT   Accessor: PARENT-SLOT-OF
    DATA-TABLE-SLOTS   Accessor: DATA-TABLE-SLOTS-OF
    PREFETCHED-SLOTS   Accessor: PREFETCHED-SLOTS-OF
    DIMENSIONAL-SLOTS   Accessor: DIMENSIONAL-SLOTS-OF
    SLOT-DIMENSIONS   Accessor: SLOT-DIMENSIONS-OF
    Dimensions of the all normal (not association-end) slots in undefined order. H-instances of the class depends on these dimensions.
  • Class PERSISTENT-CLASS-H  (PERSISTENT-CLASS)
    No slots.
  • Class PERSISTENT-SLOT-DEFINITION-D  (PERSISTENT-SLOT-DEFINITION)
    DIMENSIONS   Accessor: DIMENSIONS-OF
    INHERITING-DIMENSION-INDEX   Accessor: INHERITING-DIMENSION-INDEX-OF
  • Class PERSISTENT-DIRECT-SLOT-DEFINITION-D  (PERSISTENT-SLOT-DEFINITION-D, PERSISTENT-DIRECT-SLOT-DEFINITION)
    No slots.
  • Class PERSISTENT-EFFECTIVE-SLOT-DEFINITION-D  (PERSISTENT-SLOT-DEFINITION-D, PERSISTENT-EFFECTIVE-SLOT-DEFINITION)
    H-SLOT   Accessor: H-SLOT-OF
    CACHE   Accessor: CACHE-OF
  • Class PERSISTENT-ASSOCIATION-D  (PERSISTENT-ASSOCIATION)
    H-CLASS   Accessor: H-CLASS-OF
    DIMENSIONS   Accessor: DIMENSIONS-OF
  • Class PERSISTENT-ASSOCIATION-END-SLOT-DEFINITION-D  (PERSISTENT-SLOT-DEFINITION-D, PERSISTENT-ASSOCIATION-END-SLOT-DEFINITION)
    No slots.
  • Class PERSISTENT-ASSOCIATION-END-DIRECT-SLOT-DEFINITION-D  (PERSISTENT-ASSOCIATION-END-SLOT-DEFINITION-D, PERSISTENT-DIRECT-SLOT-DEFINITION-D, PERSISTENT-ASSOCIATION-END-DIRECT-SLOT-DEFINITION)
    No slots.
  • Class PERSISTENT-ASSOCIATION-END-EFFECTIVE-SLOT-DEFINITION-D  (PERSISTENT-ASSOCIATION-END-SLOT-DEFINITION-D, PERSISTENT-EFFECTIVE-SLOT-DEFINITION-D, PERSISTENT-ASSOCIATION-END-EFFECTIVE-SLOT-DEFINITION)
    PREFETCH   Accessor: PREFETCH-OF
    TYPE-CHECK   Accessor: TYPE-CHECK-OF
    CACHE   Accessor: CACHE-OF
    H-CLASS   Accessor: H-CLASS-OF
    ACTION-SLOT   Accessor: ACTION-SLOT-OF
    H-SLOT-NAME   Accessor: H-SLOT-NAME-OF
    H-SLOT   Accessor: H-SLOT-OF
    OTHER-END-H-SLOT   Accessor: OTHER-END-H-SLOT-OF
  • Class PERSISTENT-OBJECT-D
    No slots.
  • Class PERSISTENT-OBJECT-H
    No slots.
  • Method LOCK-SLOT ((d-instance persistent-object) (d-slot persistent-effective-slot-definition-d) &key (wait t))
  • Method LOCK-SLOT ((instance persistent-object) (slot persistent-association-end-effective-slot-definition-d) &key (wait t))
  • Variable *SIMPLIFY-D-VALUES*
  • Condition UNBOUND-SLOT-D  (UNBOUND-SLOT)
  • Method ENSURE-ITEM ((set persistent-association-end-set-container-d) (item persistent-object))
  • Method LIST-OF ((set persistent-association-end-set-container-d))
  • Method (setf LIST-OF) (new-value (set persistent-association-end-set-container-d))
  • Method ITERATE-ITEMS ((set persistent-association-end-set-container-d) fn)
  • Function ENSURE-CACHED-TREE-D (bulk d-class-name d-association-name)
  • Function CACHE-DIMENSIONAL-ASSOCIATION (d-association)
  • Function CACHE-DIMENSIONAL-SLOTS (d-class)
    Cache the dimensional slots of each instances of D-CLASS using one select.

Also exports

  • HU.DWIM.WALKER:BODY-OF
  • COMMON-LISP:FLOAT
  • COMMON-LISP:NIL
  • HU.DWIM.RDBMS:*DATABASE*
  • COMMON-LISP:MEMBER
  • COMMON-LISP:LIST
  • HU.DWIM.WALKER:NAME-OF
  • HU.DWIM.COMMON:SUM
  • COMMON-LISP:VECTOR
  • LOCAL-TIME:TIMESTAMP-TYPE
  • HU.DWIM.RDBMS:ROLLBACK-TRANSACTION
  • COMMON-LISP:NUMBER
  • COMMON-LISP:AND
  • COMMON-LISP:NULL
  • HU.DWIM.RDBMS:WITH-READONLY-TRANSACTION
  • COMMON-LISP:DOUBLE-FLOAT
  • HU.DWIM.DEF:MEMBER-TYPE
  • LOCAL-TIME:DATE
  • HU.DWIM.RDBMS:COMMIT-TRANSACTION
  • HU.DWIM.RDBMS:REGISTER-TRANSACTION-HOOK
  • LOCAL-TIME:TIMESTAMP
  • HU.DWIM.RDBMS:BEGIN-TRANSACTION
  • HU.DWIM.RDBMS:CALL-IN-TRANSACTION
  • METABANG.CL-CONTAINERS:EMPTY-P
  • LOCAL-TIME:DATE-TYPE
  • HU.DWIM.RDBMS:WITH-TRANSACTION*
  • COMMON-LISP:BOOLEAN
  • METABANG.UTILITIES:SIZE
  • METABANG.CL-CONTAINERS:EMPTY!
  • METABANG.CL-CONTAINERS:INSERT-ITEM
  • METABANG.CL-CONTAINERS:DELETE-ITEM
  • HU.DWIM.RDBMS:TRANSACTION-TIMESTAMP
  • HU.DWIM.WALKER:VALUE-OF
  • HU.DWIM.RDBMS:*TRANSACTION*
  • HU.DWIM.RDBMS:TRANSACTION-WITH-HOOKS-MIXIN
  • COMMON-LISP:FIND-CLASS
  • HU.DWIM.RDBMS:IN-TRANSACTION-P
  • COMMON-LISP:EQL
  • HU.DWIM.RDBMS:WITH-DATABASE
  • COMMON-LISP:SIMPLE-ARRAY
  • COMMON-LISP:OR
  • LOCAL-TIME:TIME-OF-DAY-TYPE
  • HU.DWIM.UTIL:QUERY
  • COMMON-LISP:SYMBOL
  • HU.DWIM.RDBMS:WITH-TRANSACTION
  • COMMON-LISP:STRING
  • METABANG.CL-CONTAINERS:FIRST-ITEM
  • COMMON-LISP:NOT
  • COMMON-LISP:T
  • COMMON-LISP:INTEGER
  • HU.DWIM.RDBMS:MARK-TRANSACTION-FOR-COMMIT-ONLY
  • LOCAL-TIME:TIME-OF-DAY
  • COMMON-LISP:UNSIGNED-BYTE
  • METABANG.CL-CONTAINERS:FIND-ITEM
  • HU.DWIM.RDBMS:MARK-TRANSACTION-FOR-ROLLBACK-ONLY
  • COMMON-LISP:SATISFIES
  • COMMON-LISP:TIME

hu.dwim.perec+hu.dwim.quasi-quote.xml

No packages.

hu.dwim.perec+iolib

No packages.

hu.dwim.perec+swank

No packages.

hu.dwim.perec.all

All backends for hu.dwim.perec.

No packages.

hu.dwim.perec.all.test

Test suite for all backends of hu.dwim.perec.

No packages.

hu.dwim.perec.documentation

No packages.

hu.dwim.perec.oracle

Oracle backend for hu.dwim.perec.

No packages.

hu.dwim.perec.oracle.test

Test suite for hu.dwim.perec with Oracle backend.

No packages.

hu.dwim.perec.postgresql

Postgresql backend for hu.dwim.perec.

No packages.

hu.dwim.perec.postgresql.test

Test suite for hu.dwim.perec with Postgresql backend.

No packages.

hu.dwim.perec.sqlite

Sqlite backend for hu.dwim.perec.

No packages.

hu.dwim.perec.sqlite.test

Test suite for hu.dwim.perec with Sqlite backend.

No packages.

hu.dwim.perec.test

Test suite for hu.dwim.perec

HU.DWIM.PEREC.TEST

  • Variable *TEST-DIMENSION*
  • Variable *TEST*
  • Macro WITH-TEST (coordinate-value &body with-body632)
  • Variable *INHERITED-DIMENSION*
  • Macro WITH-INHERITED (inherited &body forms)
  • Variable *INHERITED*
  • Function CALL-WITH-INHERITED (inherited thunk)
  • Macro WITH-INHERITED-RANGE (inherited-begin inherited-end &body forms)
  • Macro WITH-INHERITED-FROM (begin &body forms)
  • Macro WITH-INHERITED-TO (end &body forms)
  • Function CALL-WITH-INHERITED-RANGE (inherited-begin inherited-end thunk)
  • Variable *ORDERED-DIMENSION*
  • Macro WITH-ORDERED (ordered &body forms)
  • Variable *ORDERED*
  • Function CALL-WITH-ORDERED (ordered thunk)
  • Macro WITH-ORDERED-RANGE (ordered-begin ordered-end &body forms)
  • Macro WITH-ORDERED-FROM (begin &body forms)
  • Macro WITH-ORDERED-TO (end &body forms)
  • Function CALL-WITH-ORDERED-RANGE (ordered-begin ordered-end thunk)

Also exports

  • HU.DWIM.PEREC:SUBSTITUTER-OF
  • HU.DWIM.PEREC:ARGS-OF
  • HU.DWIM.WALKER:BODY-OF
  • HU.DWIM.WALKER:NAME-OF
  • HU.DWIM.PEREC:PARSER-OF