Lade...
 

DropIndex

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
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
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
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.