Member Junction
    Preparing search index...

    Options for the data-informed PK pick.

    interface PkPickOptions {
        MinRowsForSignificance?: number;
        NameRank?: (columnName: string) => number;
        ScanComplete?: boolean;
    }
    Index

    Properties

    MinRowsForSignificance?: number

    Minimum rows scanned before a unique+non-null column is trusted as a PK (statistical significance — uniqueness over a tiny sample is not evidence). Default 50.

    NameRank?: (columnName: string) => number

    A naming-rank tiebreaker, used ONLY to choose among multiple equally-unique columns.

    ScanComplete?: boolean

    Whether the scan that produced these stats SAW THE WHOLE STREAM (#A4). Default true. When false (the scan was time-budget-truncated), "non-null on every row + near-unique" was observed over only a PARTIAL prefix — a column null/duplicated solely in the unscanned tail would look like a clean key. So on a truncated scan the SOFT best-available fallback demands FULL prefix-uniqueness (not merely near-unique) and annotates the verdict that it must be re-verified on full data.