persistent-association-end-slot-definition | |
---|---|
persistent-effective-slot-definition | Class for persistent effective slot definitions. |
always-checked-type | When type-check is :always then this type will be checked whenever a new value is set during the transaction. Initform:(compute-as*
nil
(compute-always-checked-type
-self-)), Initargs::always-checked-type; Accessors:always-checked-type-of; Type:list. |
---|---|
associated-class | Initform:(compute-as* nil (awhen (normalized-type-for (slot-definition-type -self-)) (if (set-type-p it) (find-class (set-type-class-for it)) (find-class it)))), Initargs::associated-class; Accessors:associated-class-of; Type:persistent-class. |
association | Initargs::association; Accessors:association-of. |
association-end-query | Initform:(compute-as* nil (compute-association-end-query -self-)), Initargs::association-end-query; Accessors:association-end-query-of. |
cache | 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. Initargs::cache; Accessors:cache-p; Type:boolean. |
cardinality-kind | Valid values are :1, :n according to min a max cardinality. Initform:(compute-as*
nil
(if
(and
(slot-boundp
-self-
'max-cardinality)
(eq
(max-cardinality-of
-self-)
1))
1
n)), Initargs::cardinality-kind; Accessors:cardinality-kind-of; Type:symbol. |
columns | The list of RDBMS columns which will be queried or updated to get and set the data of this slot. Initform:(compute-as*
nil
(compute-columns
-self-)), Initargs::columns; Accessors:columns-of; Type:list. |
data-table-slot | 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. Initform:(compute-as*
nil
(compute-data-table-slot-p
-self-)), Initargs::data-table-slot; Accessors:data-table-slot-p; Type:boolean. |
direct-slots | The list of direct slots definitions used to compute this effective slot during the class finalization procedure. Initargs::direct-slots; Accessors:direct-slots-of; Type:list. |
id-column | This is the id column of the oid reference when appropriarte for the slot type. Initform:(compute-as*
nil
(bind
((type
(normalized-type-of
-self-)))
(if
(or
(persistent-class-type-p
type)
(set-type-p
type))
(first
(columns-of
-self-))))), Initargs::id-column; Accessors:id-column-of; Type:sql-column. |
index | True means the slot value will be indexed in the underlying RDBMS. Initargs::index; Accessors:index-p; Type:boolean. |
initargs | Initargs::initargs; Accessors:slot-definition-initargs. |
initfunction | Initargs::initfunction; Accessors:slot-definition-initfunction. |
max-cardinality | The maximum number of instances present in an association for this end. Unbound means the maximum number is not defined. Initargs::max-cardinality; Accessors:max-cardinality-of; Type:integer. |
min-cardinality | The minimum number of instances present in an association for this end. Initargs::min-cardinality; Accessors:min-cardinality-of; Type:integer. |
name | Initargs::name; Accessors:slot-definition-name. |
normalized-type | Initform:(compute-as* nil (normalized-type-for (slot-definition-type -self-))), Initargs::normalized-type; Accessors:normalized-type-of; Type:list. |
other-association-end | Initform:(compute-as* nil (bind ((class (associated-class-of (first (direct-slots-of -self-))))) (ensure-finalized class) (other-effective-association-end-for class -self-))), Initargs::other-association-end; Accessors:other-association-end-of; Type:persistent-association-end-direct-slot-definition. |
prefetch | 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. Initargs::prefetch; Accessors:prefetch-p; Type:boolean. |
primary-association-end | True iff this end is the primary association end of its association. Initform:(compute-as*
nil
(eq
(slot-definition-name
-self-)
(slot-definition-name
(primary-association-end-of
(association-of
-self-))))), Initargs::primary-association-end; Accessors:primary-association-end-p; Type:boolean. |
primary-class | The persistent class which owns the primary table where this slot will be stored. Initform:(compute-as*
nil
(compute-primary-class
-self-)), Initargs::primary-class; Accessors:primary-class-of; Type:persistent-class. |
primary-table-slot | True means the slot can be loaded from the primary table of its class with a where clause matching to the instance's oid. Initform:(compute-as*
nil
(compute-primary-table-slot-p
-self-)), Initargs::primary-table-slot; Accessors:primary-table-slot-p; Type:boolean. |
reader | A one parameter function which transforms RDBMS data received as a list to the corresponding lisp instance. This is present only for data table slots. Initform:(compute-as*
nil
(compute-reader
-self-
(always-checked-type-of
-self-))), Initargs::reader; Accessors:reader-of; Type:(or
null
function). |
secondary-association-end | True iff this end is the secondary association end of its association. Initform:(compute-as*
nil
(eq
(slot-definition-name
-self-)
(slot-definition-name
(secondary-association-end-of
(association-of
-self-))))), Initargs::secondary-association-end; Accessors:secondary-association-end-p; Type:boolean. |
table | Initform:(compute-as* nil (primary-table-of (t-class-of -self-))), Initargs::table; Accessors:table-of; Type:table. |
type-check | 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. Initargs::type-check; Accessors:type-check-of; Type:(member
always
on-commit). |
unique | True means the slot value will be enforced to be unique among instances in the underlying RDBMS. Initargs::unique; Accessors:unique-p; Type:boolean. |
writer | A one parameter function which transforms a lisp instance to the corresponding RDBMS data. This is present only for data table slots. Initform:(compute-as*
nil
(compute-writer
-self-
(always-checked-type-of
-self-))), Initargs::writer; Accessors:writer-of; Type:(or
null
function). |
writer-function | Accessors:slot-definition-writer-function. |
compute-association-end-query | |
---|---|
compute-columns | |
compute-data-table-slot-p | |
compute-primary-class | |
compute-reader | Maps a type to a one parameter lambda which will be called with the received RDBMS values. |
compute-table | |
compute-writer | Maps a type to a one parameter lambda which will be called with the slot value. |
propagate-cache-changes | Partially invalidate or update the cache to reflect setting the slot of instance to new-value. |