Table of Contents

Struct StorageIntegrityIssue

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

One concrete consistency violation found by RunStorageIntegrityCheck(). The combination (Kind, SegmentRootPageIndex) localises the bug; Detail carries the human-readable summary; the integer fields give the exact counts so the caller can produce structured assertions.

public readonly struct StorageIntegrityIssue : IEquatable<StorageIntegrityIssue>
Implements
Inherited Members

Constructors

StorageIntegrityIssue(StorageIntegrityIssueKind, int, int, int, string)

One concrete consistency violation found by RunStorageIntegrityCheck(). The combination (Kind, SegmentRootPageIndex) localises the bug; Detail carries the human-readable summary; the integer fields give the exact counts so the caller can produce structured assertions.

public StorageIntegrityIssue(StorageIntegrityIssueKind Kind, int SegmentRootPageIndex, int FirstPageIndex, int PageCount, string Detail)

Parameters

Kind StorageIntegrityIssueKind

Class of violation.

SegmentRootPageIndex int

Root page of the implicated segment, or 0 for whole-DB issues (e.g. popcount mismatch with no specific owner).

FirstPageIndex int

First file page of the implicated range, or -1 when not applicable.

PageCount int

Number of contiguous pages in the range, or 0 when not applicable.

Detail string

Free-form forensic detail. Safe to log.

Properties

Detail

Free-form forensic detail. Safe to log.

public string Detail { get; init; }

Property Value

string

FirstPageIndex

First file page of the implicated range, or -1 when not applicable.

public int FirstPageIndex { get; init; }

Property Value

int

Kind

Class of violation.

public StorageIntegrityIssueKind Kind { get; init; }

Property Value

StorageIntegrityIssueKind

PageCount

Number of contiguous pages in the range, or 0 when not applicable.

public int PageCount { get; init; }

Property Value

int

SegmentRootPageIndex

Root page of the implicated segment, or 0 for whole-DB issues (e.g. popcount mismatch with no specific owner).

public int SegmentRootPageIndex { get; init; }

Property Value

int

Methods

Deconstruct(out StorageIntegrityIssueKind, out int, out int, out int, out string)

public void Deconstruct(out StorageIntegrityIssueKind Kind, out int SegmentRootPageIndex, out int FirstPageIndex, out int PageCount, out string Detail)

Parameters

Kind StorageIntegrityIssueKind
SegmentRootPageIndex int
FirstPageIndex int
PageCount int
Detail string

Equals(object)

public override bool Equals(object obj)

Parameters

obj object

Returns

bool

Equals(StorageIntegrityIssue)

public bool Equals(StorageIntegrityIssue other)

Parameters

other StorageIntegrityIssue

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(StorageIntegrityIssue, StorageIntegrityIssue)

public static bool operator ==(StorageIntegrityIssue left, StorageIntegrityIssue right)

Parameters

left StorageIntegrityIssue
right StorageIntegrityIssue

Returns

bool

operator !=(StorageIntegrityIssue, StorageIntegrityIssue)

public static bool operator !=(StorageIntegrityIssue left, StorageIntegrityIssue right)

Parameters

left StorageIntegrityIssue
right StorageIntegrityIssue

Returns

bool