func newSargLE(expr *expression.LE) *sargLE { rv := &sargLE{} rv.sarg = func(expr2 expression.Expression) (Spans, error) { if expr.EquivalentTo(expr2) { return _SELF_SPANS, nil } var exprs expression.Expressions span := &Span{} if expr.First().EquivalentTo(expr2) { exprs = expression.Expressions{expr.Second().Static()} span.Range.High = exprs span.Range.Inclusion = datastore.HIGH } else if expr.Second().EquivalentTo(expr2) { exprs = expression.Expressions{expr.First().Static()} span.Range.Low = exprs span.Range.Inclusion = datastore.LOW } if len(exprs) == 0 { return nil, nil } return Spans{span}, nil } return rv }