Lade...
 

CX_DB_UTILITY::ExportCollection

CX_DB_UTILITY::ExportCollection

Beschreibung:

Diese Methode schreibt die Adressen aller Objekte einer Collection in eine Datei.  Dabei

versucht sie korrupte Pointer und Objekte zu ignorieren und behandelt Address-Space-Overflow automatisch. Kann die Datei nicht geschrieben werden oder

wird keine Collection übergeben wird eine Exception geworfen.

Das Format der Datei ist wie folgt: Für jedes exportiertes Objekt wird eine

Zeile geschrieben. Diese Zeile hat die Adresse des Objektes in der Kurzform <layer|segment|cluster|offset|length>, wobei das offset in Hexadezimalwert, alle anderen Zahlen als Dezimalwerte angegeben werden. Für jedes korrupte Objekt wird abhängig von der Schwere der Korruption "(invalid object type)" oder "(skipped)" an die Adresse angehängt. Kann die Adresse gar nicht bestimmt werden wird nur "(skipped)" ausgegeben. Am Ende der Datei wird eine zweizeilige Zusammenfassung geschrieben, die die Anzahl der exfolgreich geschriebenen und der korrupten Objekte angibt. Ein Beispiel ist wie

folgt:

<0|3466|1074|1dfa4|10000>
<0|3076|1986|206a74|10000>
<0|3466|2994|96f64|10000>
<0|3464|0|288d4f8|10000>
<0|3466|2444|c30|10000>
<0|3466|3132|c30|10000>

Successfully exported objects: 657826
Corrupted objects ignored: 0

Achtung!

Diese Funktion erwartet eine offene Transaktion. Ist keine

Transaktion zum lesen geöffnet schreibt diese Funktion für jede Zeile "(skipped)".

Code-Beispiel:

Der folgende Code liefert die Standard

GarbageCollection angemeldet unter "geps" in der Datenbank "classix.cxd"

und schreibt die Adressen aller Objekte in eine Datei "address.txt":

Var(dbutil)
GetManager(OBJECT) Call(GetDBUtility)  -> dbutil

BeginTXN "classix.cxd" "geps" dbutil Call(GetREPCollByName)

"addresses.txt" dbutil Call(ExportCollection)

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_DB_UTILITY CX_DB_UTILITY-Objekt
  Top-1 STRING Name der zu schreibenden Datei
  Top-2 COLLECTION Collection mit zu exportierenden Objekten
Stack(Out) Top    
Funktionsaufruf: Call(ExportCollection)