CX_INDEX_DESCRIPTOR
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_INDEX_DESCRIPTOR
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung:
Diese Klasse stellt ein Eintrag im Index-Manager dar und beschreibt einen Datenbank-Index. CX_INDEX_DESCRIPTOR-Objekte können nicht mit CreateTransObject, bzw. CreatePersObject erzeugt werden; sie entstehen, wenn über den Index-Manager Indizes angelegt werden.
Diese Klasse stellt eine Abstraktion der tatsächlichen Datenbank-Indizes dar. Wenn ein Index-Descriptor aktiviert wird wird der Datenbank-Index angelegt. Eine Deaktivierung führt zur Löschung des entsprechenden Datenbank-Index. Der Zusammenhang zwischen Datenbank-Index und dem zugehörigen CX_INDEX_DESCRIPTOR-Objekt kann unter bestimmten Umständen verloren gehen (z.B. indem ein CX_INDEX_DESCRIPTOR unter Umgehung von ClassiX physikalisch aus der Datenbank gelöscht wird oder indem Datenbank-tools zum Ändern von Indizes eingesetzt werden). In diesem Fall kann über den Index-Manager ein dem Index entsprechendes CX_INDEX_DESCRIPTOR-Objekt erzeugt werden (falls es noch nicht existiert) und diese mithilfe der Funktionen UpdateStatus oder UpdateFlags wieder mit dem physikalischen Index synchronisiert werden.
Ein CX_INDEX_DESCRIPTOR-Objekt ist nur lesbar. Zum Verändern kann auf die Funktion UpdateREPIndex zurückgegriffen werden.
Die Index-Descriptoren sind nicht nur Informations-Objekte (über die Datenbank-Indexe), sondern sie dienen auch zur expliziten Aktualisierung eines Datenbank-Index mit dem Retrieve-Feature.
Code-Beispiel:
Var(x)
CreatePersObject(CX_TEST_OBJECT_REP) -> x
"bla" x Put(testString)
CX_TEST_OBJECT_REP 0 "testString" ORDERED COPY_KEY | GetManager(INDEX) Call(AddREPIndex)
// Auf dem Stack: ein CX_INDEX_DESCRIPTOR-Objekt
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
ActivateIndex | INTEGER | - | Index aktivieren | |
AllQuery | STRING | Hilfsfunktionen für den Test eines Datenbank-Index auf Vollständigkeit | ||
ExistenceQuery | STRING | |||
BreakLink MakeLink |
OBJECT OBJECT |
Index aktualisieren (siehe auch: Indizes und Retrieve) | ||
ClassName | STRING | Klassenname für REP-Collection | ||
DeactivateIndex | INTEGER | - | Index deaktivieren | |
DisplayOptions | STRING | Rückgabe: Optionen als Zeichenkette (Konstantennamen) | ||
GetCollection | COLLECTION | liefert die indizierte Collection | ||
GetIdxDomain | INTEGER | Liefert die Domain des Index (nur bei REP-Collections) | ||
GetIdxLayer | INTEGER | Liefert den Layer des Index (nur bei REP-Collections) | ||
GetName | STRING | Index in lesbarer Form | ||
GetOptions | INTEGER | Rückgabe: Optionen als Integer Wert (Konstantenwerte) | ||
GetOsExpression | STRING | Index-Pfad in ObjectStore-kompatibler Form | ||
GetOwner | OBJECT | Eingebettete Collections: eingebettet in welchem Objekt? | ||
GetPathExpression | STRING | Index-Pfad | ||
IsActive | INTEGER | Index aktiviert? | ||
IsDeep | INTEGER | Mit IndexCopy(DEEP) erstellt? | ||
IsConsistent | INTEGER | Ist der Index konsistent? | ||
IsREPIndex | INTEGER | Index über eine REP-Collection? | ||
SetSystemLayerAndDomain | - | System-Layer und -Domain nach Index setzen | ||
UpdateFlags | aktualisiert die abgespeicherten Index-Optionen mit denen des ObjectStore-Index (Index muss aktiviert sein) | |||
UpdateStatus | aktualisiert den abgespeicherten Status (aktiv/inaktiv) mit dem entsprechenden ObjectStore index. Falls aktiv werden zusätzlich die Flags aktualisiert. | |||
GetDomain | INTEGER | Domain dieses Objektes | ||
GetSiblings | COLLECTION | Alle Siblings dieses Objektes | ||
GetSiblings2 | COLLECTION | Alle Siblings dieses Objektes | ||
GetSlotEntries | VECTOR | Liefert eine Liste mit allen Slots dieses Objektes | ||
Link | OBJECT | Fügt sich selbst in die Liste der Objekte mit Gültigkeit von dem Objekt ein, das als Parameter übergeben wird. | ||
SetDomain | INTEGER, INTEGER | Domain setzen | ||
Siblings | * | |||
Unlink | Entfernt sich selbst aus der Liste der Objekte mit Gültigkeit | |||
Unlink2 | Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen | |||
VerifySiblings | INTEGER | Ring der Austauschobjekte prüfen |
* MA = Member-Access-Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
creation | CX_DATETIME | Erzeugungsdatum des ObjectStore-Index (nicht dieses Objektes!) |
* I = Indizierbares Datenfeld
Modul | Kurzbeschreibung |
---|---|