Class Transaction-Instance-Cache-Mixin

Each transaction has its own transaction level instance cache filled by the operations executed during that transaction. The cache is created empty when the transaction starts and it will be dropped when the transaction ends. Each instance loaded during a transaction will be put here to keep the identity of the in-memory instance throughout the transaction. Moreover the instance cache is responsible to manage the list of created, modified and deleted instances during the transaction.

Part of:

class transaction-mixin, package cl-perec

Direct Subclass

transaction-mixin

Slot

bulks
A map from symbols to bulks of instances. Used to cache complex trees, graphs of instances at once.
Initform:(make-hash-table test #'eq), Initargs::bulks; Accessors:bulks-of; Type:hash-table.
created-instances
A map from instances to true indicating that the instance is in the set.
Initform:(make-hash-table test #'eq), Initargs::created-instances; Accessors:created-instances-of; Type:hash-table.
deleted-instances
A map from instances to true indicating that the instance is in the set.
Initform:(make-hash-table test #'eq), Initargs::deleted-instances; Accessors:deleted-instances-of; Type:hash-table.
instances
A map from oid values to persistent instances used to cache instance identities and slot values during a transaction.
Initform:(make-hash-table test #'eql), Initargs::instances; Accessors:instances-of; Type:hash-table.
modified-instances
A map from instances to true indicating that the instance is in the set.
Initform:(make-hash-table test #'eq), Initargs::modified-instances; Accessors:modified-instances-of; Type:hash-table.