CX_INDEX_DESCRIPTOR::BreakLink / MakeLink
Beschreibung:
Bei einem mit Retrieve aufgebautem Index geht der Zusammenhang zwischen Index
und den die Ordnung bestimmenden Objektdaten verloren. Ein solcher Index kann nicht mehr automatisch aktualisiert werden. Schreibenden Operationen (DrainWindow, Put, ...), die für die Ordnung im Index relevant sein können, müssen in explizite Aufrufe der Funktionen BreakLink (vorher) und MakeLink (nachher) eingehüllt werden.
Code-Beispiel:
Var(x, descriptor)
CreatePersObject(CX_CUSTOMER) -> x
CreatePersObject(CX_CUSTOMER) -> x
CX_CUSTOMER 0 "Retrieve(LastUpdate(), name, firstName)"
ORDERED COPY_KEY | GetManager(INDEX) Call(AddREPIndex)
-> descriptor
// ...
object descriptor Call(BreakLink)
"Gwendolen" object Put(firstName)
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_INDEX_DESCRIPTOR | Index |
Top-1 | OBJECT | Objekt | |
Stack(Out) | Top | - | - |
Funktionsaufruf: Call(BreakLink) oder Call(MakeLink)