Table of Contents

Class QueryPlan

Namespace
eQuantic.Core.Data.Repository
Assembly
eQuantic.Core.Data.dll

The execution plan a provider builds for a shaped read — what will actually run and at what cost. A plan never lies: everything the store executes is in Statement, everything the library evaluates client-side is in Residual, and the cost flags say so explicitly. Obtain one from a repository implementing IExplainableRepository<TEntity>; building a plan performs no I/O.

public sealed class QueryPlan
Inheritance
QueryPlan
Inherited Members

Constructors

QueryPlan(string, string, IReadOnlyList<object?>, string?, bool, bool, bool, IReadOnlyList<string>)

Initializes the plan.

public QueryPlan(string provider, string statement, IReadOnlyList<object?> parameters, string? residual, bool serverSideFiltering, bool clientEvaluation, bool partitionScoped, IReadOnlyList<string> notes)

Parameters

provider string

The provider name (e.g. Cassandra).

statement string

The statement the store executes, in its native dialect.

parameters IReadOnlyList<object>

The bound parameter values, in order.

residual string

Human-readable description of the predicate evaluated client-side, or null when fully pushed down.

serverSideFiltering bool

Whether the store filters outside its native access path (e.g. CQL ALLOW FILTERING).

clientEvaluation bool

Whether part of the predicate is evaluated client-side over the fetched rows.

partitionScoped bool

Whether the query is pinned to a single partition (the store's cheap path).

notes IReadOnlyList<string>

Additional provider-specific remarks (gates required, caching, paging strategy).

Properties

ClientEvaluation

Whether part of the predicate runs client-side (the query fetches a superset and the library filters it).

public bool ClientEvaluation { get; }

Property Value

bool

Notes

Additional provider-specific remarks (gates required, caching, paging strategy).

public IReadOnlyList<string> Notes { get; }

Property Value

IReadOnlyList<string>

Parameters

The bound parameter values, in statement order.

public IReadOnlyList<object?> Parameters { get; }

Property Value

IReadOnlyList<object>

PartitionScoped

Whether the query is pinned to a single partition — the store's cheap path.

public bool PartitionScoped { get; }

Property Value

bool

Provider

The provider name (e.g. Cassandra, MongoDb, CosmosDb).

public string Provider { get; }

Property Value

string

Residual

The predicate evaluated client-side over the fetched rows, or null when everything is pushed down.

public string? Residual { get; }

Property Value

string

ServerSideFiltering

Whether the store filters outside its native access path (e.g. CQL ALLOW FILTERING).

public bool ServerSideFiltering { get; }

Property Value

bool

Statement

The statement the store executes, rendered in its native dialect (CQL, Cosmos SQL, aggregation pipeline).

public string Statement { get; }

Property Value

string