IndexDefinition
Index definition (unique or non-unique). Supports both column-based indexes (Columns) and expression-based indexes (Expressions). When Expressions is non-empty, it takes precedence over Columns.
public sealed record IndexDefinition : IEquatable<IndexDefinition>
Properties
Name
public string Name { get; init; }
Index name.
Columns
public IReadOnlyList<string> Columns { get; init; }
Columns in the index (quoted as identifiers).
Expressions
public IReadOnlyList<string> Expressions { get; init; }
LQL/SQL expressions for expression-based indexes (e.g., "lower(name)"). When non-empty, these are used instead of Columns and are emitted verbatim.
IsUnique
public bool IsUnique { get; init; }
Whether the index enforces uniqueness.
Filter
public string? Filter { get; init; }
Partial index WHERE clause filter.