code: func (s *SelectStatement) SetTimeRange(start, end time.Time) error {
  	cond := fmt.Sprintf("time >= '%s' AND time < '%s'", start.UTC().Format(time.RFC3339Nano), end.UTC().Format(time.RFC3339Nano))
  	if s.Condition != nil {
  		cond = fmt.Sprintf("%s AND %s", s.rewriteWithoutTimeDimensions(), cond)
  	}
  
  	expr, err := NewParser(strings.NewReader(cond)).ParseExpr()
  	if err != nil {
  		return err
  	}
  
  	// Fold out any previously replaced time dimensions and set the condition.
  	s.Condition = Reduce(expr, nil)
  
  	return nil
  }
docs: // SetTimeRange sets the start and end time of the select statement to [start, end). i.e. start inclusive, end exclusive.
  // This is used commonly for continuous queries so the start and end are in buckets.