Lade...
 

CX_DB_UTILITY::FindObjectsReferencingPosition

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