code: func (e *executor) executeClearRowShard(ctx context.Context, index string, c *pql.Call, shard uint64) (bool, error) {
  	span, _ := tracing.StartSpanFromContext(ctx, "Executor.executeClearRowShard")
  	defer span.Finish()
  
  	fieldName, err := c.FieldArg()
  	if err != nil {
  		return false, errors.New("ClearRow() argument required: field")
  	}
  
  	// Read fields using labels.
  	rowID, ok, err := c.UintArg(fieldName)
  	if err != nil {
  		return false, fmt.Errorf("reading ClearRow() row: %v", err)
  	} else if !ok {
  		return false, fmt.Errorf("ClearRow() row argument '%v' required", rowLabel)
  	}
  
  	field := e.Holder.Field(index, fieldName)
  	if field == nil {
  		return false, ErrFieldNotFound
  	}
  
  	// Remove the row from all views.
  	changed := false
  	for _, view := range field.views() {
  		fragment := e.Holder.fragment(index, fieldName, view.name, shard)
  		if fragment == nil {
  			continue
  		}
  		cleared, err := fragment.clearRow(rowID)
  		if err != nil {
  			return false, errors.Wrapf(err, "clearing row %d on view %s shard %d", rowID, view.name, shard)
  		}
  		changed = changed || cleared
  	}
  
  	return changed, nil
  }
docs: // executeClearRowShard executes a ClearRow() call for a single shard.