Explain

class Explain

How a query would be answered.

The reason this exists rather than being left to a debugger is the one IndexCandidate.reason already makes: a decision that cannot say what it was based on is one nobody can argue with. It is also the instrument the work-assertion tests use to say which index a plan chose and in what order it intersects, which is a fact about the plan rather than a stopwatch reading.

Properties

Link copied to clipboard

Whether every projected field is bound to a shredded column that can reconstruct it exactly.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Sources in the order the intersection would run them: cheapest first.

Link copied to clipboard

Whether this plan reads any sidecar at all.

Functions

Link copied to clipboard
fun render(): String
Link copied to clipboard
open override fun toString(): String