Lade...
 

CX_INDEX_DESCRIPTOR

CX_INDEX_DESCRIPTOR

Klassenhierarchie
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

Methodenverzeichnis (MDI)
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

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
creation CX_DATETIME     Erzeugungsdatum des ObjectStore-Index (nicht dieses Objektes!)

* I = Indizierbares Datenfeld

Verwendung in AppsWH
Modul Kurzbeschreibung