Lade...
 

CX_DB_UTILITY::DumpCollection

CX_DB_UTILITY::DumpCollection

213694
Beschreibung:

Diese Methode schreibt die Objekt-Ids aller persistenten Objekte der übergebenen Collection (die Collection selbst darf transient sein) in die angegebene Datei und liefert als Rückgabewert die Anzahl der geschriebenen Objekte. Die Datei, die hier geschrieben wird, hat im Gegensatz zu ExportCollection ein Fixed-Record-Format und ist bestens geeignet, um bei sehr vielen Objekten schnell an beliebiger Stelle zu lesen.

223312 
Die Datei hat folgenden Aufbau:

Anzahl Einträge: 4 Bytes unsigned int LE Recordgröße: 4 Bytes unsigned int LE = 0x30 Padding: 40 Bytes
Objekt-ID: 48 Bytes ASCII-String
Objekt-ID: 48 Bytes ASCII-String
...

Bis Dll-Version 223312 war die Recordgröße auf 32 Bytes festgelegt, dies war für einige Objektadressen jedoch zu kurz.

 

Dieses Dateiformat wird aktuell nur von LoadCollectionDump und MoveFrameBatch unterstützt und dient dazu, die MoveFrame-Operation auf einer sehr großen Anzahl von Objekten bei geringem Address-Space (32-Bit) sicher und jederzeit unterbrechbar durchzuführen.

Während die Datei geschrieben wird, wird ein Fortschrittsfenster angezeigt. Wird eine geordnete Collection übergeben (Liste), dann werden die Objekte in der gleichen Reihenfolge in die Datei geschrieben.

 

Code-Beispiel:
Var(util)
GetManager(OBJECT) Call(GetDBUtility) -> util

objects "CX_SYSTEM_OUT\\objects.coll" util Call(DumpCollection)
"CX_SYSTEM_OUT\\objects.coll" 1000 0 util Call(MoveFrameBatch)

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_DB_UTILITY Tool-Objekt 
  Top-1 STRING Pfad zur Datei, die geschrieben werden soll.
  Top-2 COLLECTION Die Collection von persistenten Objekten, die geschrieben werden soll.
Stack(Out) Top INTEGER Die Anzahl der geschriebenen Objekte.

Funktionsaufruf: Call(DumpCollection)