Lade...
 

CX_OBJECT_MANAGER::AnalyzeSegmentLayout

CX_OBJECT_MANAGER::AnalyzeSegmentLayout

212705
Beschreibung:

Diese Methode liefert für das gegebene Segment eine Auswertung über alle Cluster. Mit Hilfe dieser Methode kann eine Aufstellung der Objekttypen der einzelnen Cluster und der eingenommenen Größen erstellt werden. Die Methode wurde eingeführt, um eine Abschätzung treffen zu können, wie viel Speicher gewonnen werden kann, wenn die Slots von Container-Objekten (CX_CONTAINER & CX_EXPANDABLE) in ein anderes Cluster verschoben werden, um das Überlaufen von Clustern zu verhindern.

Das Zurückgegebene JSON hat folgende Struktur:

{ clusterNr: { "totalSize":... // Gesamtgröße des Clusters (bytes) "containers": { // Anzahl und Gesamtgröße der CX_CONTAINER & CX_EXPANDABLE Objekte "count":..., "size":... }, "otherObjects": { // Restliche von CX_CLASS abgeleitete Objekte in diesem Cluster (die Slot-Werte werden hierfür nicht gezählt) "count":..., "size":... }, "sameCluster": { "slots": { // Slots, die im gleichen Cluster allokiert sind "count":..., "size":... }, "values": { // Slotwerte, die dem Slot gehören und im gleichen Cluster allokiert sind "count":..., "size":... } }, "otherCluster": { "slots": { // Slots, die in einem anderen Cluster allokiert sind "count":..., "size":... }, "values": { // Slotwerte, die dem Slot gehören und in einem anderen Cluster allokiert sind "count":..., "size":... } }, "slotValueTypes": { // Auflistung aller Slotwert-Typen typName:{ "count":..., "size":... }, ... } }, ... }

 

Code-Beispiel:
Var(json)
1 38 GetManager(OBJECT) Call(AnalyzeSegmentLayout) -> json // {"totalSize": ..., ...}

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_OBJECT_MANAGER -
  Top-1 INTEGER Segmentnummer
  Top-2 INTEGER Datenbanknummer
Stack(Out) Top CX_JSON_OBJECT Zusammenfassung der Segmentbelegung
Funktionsaufruf: Call(AnalyzeSegmentLayout)