code: func newSeriesCursor(req SeriesCursorRequest, index *tsi1.Index, cond influxql.Expr) (_ SeriesCursor, err error) {
  	// Only equality operators are allowed.
  	influxql.WalkFunc(cond, func(node influxql.Node) {
  		switch n := node.(type) {
  		case *influxql.BinaryExpr:
  			switch n.Op {
  			case influxql.EQ, influxql.NEQ, influxql.EQREGEX, influxql.NEQREGEX, influxql.OR, influxql.AND:
  			default:
  				err = errors.New("invalid tag comparison operator")
  			}
  		}
  	})
  	if err != nil {
  		return nil, err
  	}
  
  	mitr := req.Measurements
  	if mitr == nil {
  		mitr, err = index.MeasurementIterator()
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	return &seriesCursor{
  		index: index,
  		mitr:  mitr,
  		cond:  cond,
  	}, nil
  }
docs: // newSeriesCursor returns a new instance of SeriesCursor.