Struct StorageIntegrityIssue
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
KindStorageIntegrityIssueKindClass of violation.
SegmentRootPageIndexintRoot page of the implicated segment, or
0for whole-DB issues (e.g. popcount mismatch with no specific owner).FirstPageIndexintFirst file page of the implicated range, or
-1when not applicable.PageCountintNumber of contiguous pages in the range, or
0when not applicable.DetailstringFree-form forensic detail. Safe to log.
Properties
Detail
Free-form forensic detail. Safe to log.
public string Detail { get; init; }
Property Value
FirstPageIndex
First file page of the implicated range, or -1 when not applicable.
public int FirstPageIndex { get; init; }
Property Value
Kind
Class of violation.
public StorageIntegrityIssueKind Kind { get; init; }
Property Value
PageCount
Number of contiguous pages in the range, or 0 when not applicable.
public int PageCount { get; init; }
Property Value
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
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
KindStorageIntegrityIssueKindSegmentRootPageIndexintFirstPageIndexintPageCountintDetailstring
Equals(object)
public override bool Equals(object obj)
Parameters
objobject
Returns
Equals(StorageIntegrityIssue)
public bool Equals(StorageIntegrityIssue other)
Parameters
otherStorageIntegrityIssue
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(StorageIntegrityIssue, StorageIntegrityIssue)
public static bool operator ==(StorageIntegrityIssue left, StorageIntegrityIssue right)
Parameters
leftStorageIntegrityIssuerightStorageIntegrityIssue
Returns
operator !=(StorageIntegrityIssue, StorageIntegrityIssue)
public static bool operator !=(StorageIntegrityIssue left, StorageIntegrityIssue right)
Parameters
leftStorageIntegrityIssuerightStorageIntegrityIssue