CX_DB_UTILITY::FindObjectsReferencingPosition
Beschreibung:
Finde alle Objekte mit Referenzen auf einen bestimmten Ort in der Datenbank.
Sinn der Methode: es gibt eine lokale Datenbank-Korruption. Kennt man alle Objekte, die andere Objekte in diesem Bereich referenzieren, kann man - mit Datenverlust - die Korruption reparieren.
In der aktuelle Version ist der "interessante Ort" eines möglichen Schadens ein Cluster.
Eine Erweiterung auf eine Offset-Bereich ist einfach zu implementieren. Dann machen, wenn es wirklich gebraucht wird!
Code-Beispiel:
Var(dbUtil)
GetManager(OBJECT) Call(GetDBUtility) -> dbUtil
"affectedObjects.log" 2010 /* segment to check */ 5044 /* segment with damage */ 304 /* bad cluster */ dbUtil Call(FindObjectsReferencingPosition)
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | OBJECT | Database Utility |
Top-1 | INTEGER | (Ziel-) Cluster | |
Top-2 | INTEGER | (Ziel-) Segment | |
Top-3 | INTEGER | Segment, das analysiert werden soll | |
Top-4 | STRING | das Log-File | |
Stack(Out) | - |
Funktionsaufruf: Call(FindObjectsReferencingPosition)