Loading...
 

CX_DB_UTILITY::DumpCollection

CX_DB_UTILITY::DumpCollection

213694
Description:

This method writes the object ids of all persistent objects of the passed collection (the collection itself may be transient) into the specified file and returns the number of written objects as return value. The file that is written here, unlike ExportCollection, has a fixed-record format and is best suited to read quickly at any point when there are very many objects.

223312
The file has the following structure:

Number of entries: 4 Bytes unsigned int LE Record size: 4 bytes unsigned int LE = 0x30Padding: 40 bytes
Object ID: 48 bytes ASCII string
Object ID: 48 bytes ASCII string
...

Until Dll version 223312, the record size was fixed at 32 bytes, but this was too short for some object addresses.

This file format is currently only supported by LoadCollectionDump and MoveFrameBatch and is used to perform the MoveFrame operation on a very large number of objects with low address space (32-bit) safely and interruptibly at any time.

A progress window is displayed while the file is being written. If an ordered collection is passed (list), then the objects are written to the file in the same order.

Code example:
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 Object type Brief description
Stack(In) Top CX_DB_UTILITY Tool Object
Top 1 STRING Path to the file that is to be written.
top 2 COLLECTION The collection of persistent objects to be written.
Stack(Out) Top INTEGERThe number of written objects.

Function call: Call(DumpCollection)