2.6.1.2.2 Creating or Adding a Subnode Entry

Creating a subnode entry with a data BLOB and associating it with an existing node.

Requirement level

Actions

Required

Create a new data block (section 2.6.1.1.5).

Allocate an SLBLOCK, if one does not exist (section 2.6.1.1.5).

Associate the SLBLOCK with NID of the containing node (NBT page needs to be modified).

Create a new SLENTRY in the SLBLOCK and associate it with the data block.

Recommended

None.

Optional

None.

Possible side effects:

Scenario

Impact

Not enough free space.

The PST File needs to grow.

BBT page too full.

The BBT might need more levels or need to be balanced.

SLBLOCK is full.

The subnode BTree needs to grow in depth to accommodate new subnode entry.

Data BLOB larger than 8 kilobytes.

A data tree needs to be constructed to store the data BLOB.

NIDs for subnodes are internal and therefore NOT allocated from the rgnid[nidType] counter in the HEADER.