DropIndex
Achtung!
Veraltet! Indexmanager stellt Funktionen für die Indexverwaltung zur Verfügung
DropIndex(CX_xxxxx), DropIndex(CX_xxxxx, k)
Parameter: Bezeichner einer Klasse, Nummer einer Domain (Default ist k = 0)
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | Indexpfad (als Zeichenkette) |
Stack(Out) | Top | - |
Der Index der k-ten RootEP-Collection einer Klasse (im aktuellen Layer) wird entfernt. Wie bei AddIndex werden die mit SetDomain gesetzten Einstellungen durch Parameter k übersteuert (weitere Hinweise ...). Auf dem Stack wird der Indexpfad als Zeichenkette erwartet.
Der Datenbank-Index wird gelöscht und auch der Index-Manager wird entsprechend aktualisiert.
Auch das Entfernen eines Index kann zu Address-Space-Überlauf führen. Abhilfe biete die Aufteilung der Operation auf mehrere Transaktionen:
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | ] |
Indexpfad (als Zeichenkette) | ||
ganze Zahl n | ||
OBJECTS_PER_TXN | ||
] | ||
Stack(Out) | - |
Pro Transaktion werden n Objekte verarbeitet.
DropIndex(CX_xxxxx, zugriffsAusdruck)
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | ] |
Top-1 | Parameter | |
. . . | ||
das Objekt | ||
Top-n | [ | |
Stack(Out) | - |
Collections existieren auch als Element (Datenfeld) eines Objekts. Um einen eventuell vorhandenen Index wieder zu entfernen, muss neben dem Indexpfad ein Objekt auf dem Stack liegen, von dem mit dem Zugriffsausdruck (zweiter Parameter) die Collection erreicht wird.
Auch hier kann mit OBJECTS_PER_TXN n die Multi-Transaktions-Variante gefordert werden.