Reserved OIDs

Special objects in PersistStore

The PersistStore creates two special serial elements which have reserved OIDs as follows:

Object OID
RootPersistStoreObject 00000001.00000000
PSpaceMap 00000001.00000001

Special objects in each PSpace

Each PSpace creates two special serial elements which have reserved OIDs, for example:

Object OID
PSpaceRoots 00000001.00000002
DeletionQueue 00000001.00000003

Calculating expected number of serial elements in the LSS

The function GetNumSerialElementsInStore() calculates the expected number of serial elements in the LSS for a given number of PSpaces and a given total number of IPersistable objects across all PSpaces.


const ssize_t NUM_PERSISTSTORE_SERIAL_ELEMENTS = 2;
const ssize_t NUM_PSPACE_SERIAL_ELEMENTS = 2;

inline const ssize_t GetNumSerialElementsInStore(ssize_t numPSpaces, ssize_t numObjects)
{
    return NUM_PERSISTSTORE_SERIAL_ELEMENTS + numPSpaces*NUM_PSPACE_SERIAL_ELEMENTS + numObjects;
}