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
providerstringThe provider name (e.g.
Cassandra).statementstringThe statement the store executes, in its native dialect.
parametersIReadOnlyList<object>The bound parameter values, in order.
residualstringHuman-readable description of the predicate evaluated client-side, or
nullwhen fully pushed down.serverSideFilteringboolWhether the store filters outside its native access path (e.g. CQL
ALLOW FILTERING).clientEvaluationboolWhether part of the predicate is evaluated client-side over the fetched rows.
partitionScopedboolWhether the query is pinned to a single partition (the store's cheap path).
notesIReadOnlyList<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
Notes
Additional provider-specific remarks (gates required, caching, paging strategy).
public IReadOnlyList<string> Notes { get; }
Property Value
Parameters
The bound parameter values, in statement order.
public IReadOnlyList<object?> Parameters { get; }
Property Value
PartitionScoped
Whether the query is pinned to a single partition — the store's cheap path.
public bool PartitionScoped { get; }
Property Value
Provider
The provider name (e.g. Cassandra, MongoDb, CosmosDb).
public string Provider { get; }
Property Value
Residual
The predicate evaluated client-side over the fetched rows, or null when everything is pushed down.
public string? Residual { get; }
Property Value
ServerSideFiltering
Whether the store filters outside its native access path (e.g. CQL ALLOW FILTERING).
public bool ServerSideFiltering { get; }
Property Value
Statement
The statement the store executes, rendered in its native dialect (CQL, Cosmos SQL, aggregation pipeline).
public string Statement { get; }