CX_INDEX_DESCRIPTOR::ExistenceQuery
Beschreibung:
Die Funktion generiert InstantView®-Code als Zeichenkette, wo
durch eine Query mit einem Queryausdruck über das indizierte Datenfeld ein
beliebiges Objekt aus der indizierten Collection gefunden wird.
Wenn der Datenbank-Index weder korrupt noch unvollständig ist¹), so muss
Achtung!
Werden mit dieser Methode alle Objekt der indizierten Collection getestet, so erhält man eine eindeutige Aussage über den Zustand des Datenbank-Indexes; vergleiche dazu Funktion
AllQuery().Code-Beispiel:
Define(CheckCompleteness) ->
indexDescriptor
indexDescriptor
Call(SetSystemLayerAndDomain)
indexDescriptor
Call(ExistenceQuery) ->
testQuery
FALSE
->
badIndex
indexDescriptor
Call(GetCollection)
iterate
{
}
badIndex
if
{
("Index unvollständig: ",
"Index not complete: ")
indexDescriptor String
*
Attention(AbortTXN)
cancel
Einige Beispiele für den durch Funktion ExistenceQuery() generierten Code:
Index | Klasse | Collection ist | generiert wird |
---|---|---|---|
uniqueID | CX_ITEM | REP | Dup Copy(uniqueID) Dup if { "uniqueID = %s" Find(CX_ITEM) Contains } else { Drop(2) TRUE } |
CX_STATE_MONITOR | Datenfeld monitors eines Objects |
Dup Copy(uniqueID) Dup if { "uniqueID = %s" "<0|62|0|1138|10000>" GrabObject Find(CX_STATE_MONITOR, monitors) Contains } else { Drop(2) TRUE } |
|
date | CX_SALES_ORDER | REP | Dup Copy(date) Dup if { "date = %CX_DATE" Find(CX_SALES_ORDER) Contains } else { Drop(2) TRUE } |
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(IN) | Top | CX_INDEX_DESCRIPTOR | Index |
Stack(OUT) | Top | STRING |
Funktionsaufruf: Call(ExistenceQuery) Execute
¹) ein unvollständiger Datenbank-Index entsteht z.B., wenn ein
Datenfeld unter Umgehung der im ClassiX®-System implementierten
automatischen Indexnachführung verändert wird