fingerprint

Function fingerprint 

Source
pub fn fingerprint(c: &Core) -> String
Expand description

An expression’s shape as a string, so two that are the same expression share one index.

The plan’s hash-consing keys on a string, and the collection alone is not enough for arrange_by: two joins over one collection by different keys are two indexes, and two by the same key are one. Core is not Eq, and the parts of it that are not the expression — spans, and the annotations crate::liveness, crate::fields and crate::frames leave — would make two identical expressions look different, so this writes down what a reader would call the expression and nothing else.

Being wrong in the safe direction costs an index rather than an answer: two fingerprints that differ where the expressions agree build two indexes that hold the same thing.