ExplainTypeNote

A leaf whose predicate family disagrees with the types actually stored at its path.

A diagnostic, never a coercion. Nothing here changes an answer, a plan or a bound. A numeric predicate still matches numeric values only — that is type bracketing, it is part of the query contract, and skipping a column whose numeric bound misses depends on it. What this adds is the reason a query returned fewer rows than a caller expected, at the one moment they are asking.

The case it exists for is a third-party payload archive, where a vendor sends "500" in some documents and 500 in others. where(path("$.status") eq 500) then silently matches only half of them, and there is nothing in the result to say why — which the README's own sample calls "the part that surprises people".

Properties

Link copied to clipboard

the leaf, as it appears in the plan.

Link copied to clipboard

the family the leaf's literals bracket to: numeric, text or boolean.

Link copied to clipboard

how much of the observed data at path is outside that family, as the catalog's sketch reports it. An estimate over the segments the model covers, not a count.

Link copied to clipboard

the offending types, commonest first, with each one's share.

Link copied to clipboard

the path the leaf tests.

Functions

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