Table of Contents

Interface IPageStrategy

Namespace
Plank.Writing.PageStrategy
Assembly
Plank.dll

Defines the page-writing policy for a leaf column.

public interface IPageStrategy

Remarks

Implementations may be shared by multiple writers and must not store writer-specific observations. Plank keeps mutable per-column state in the owning writer for the full writer lifetime.

Methods

GetDictionaryMode()

Returns

DictionaryMode

GetNextDataPageRowCount(uint, uint)

Gets the number of rows to write to the next data page.

uint GetNextDataPageRowCount(uint totalRowCount, uint rowsWritten)

Parameters

totalRowCount uint
rowsWritten uint

Returns

uint

Remarks

The result must be greater than zero and no greater than totalRowCount minus rowsWritten.

ShouldDropDictionary(uint, uint, uint)

bool ShouldDropDictionary(uint uniqueCount, uint totalRowCount, uint rowsSeen)

Parameters

uniqueCount uint
totalRowCount uint
rowsSeen uint

Returns

bool

TryGetTargetDataPageSizeBytes(out uint)

bool TryGetTargetDataPageSizeBytes(out uint sizeBytes)

Parameters

sizeBytes uint

Returns

bool