// getDMLRouting updates the route with the necessary routing // info. If it cannot find a unique route, then it returns an error. func getDMLRouting(where *sqlparser.Where, route *engine.Route) error { if where == nil { return errors.New("unsupported: multi-shard where clause in DML") } for _, index := range route.Table.Ordered { if !vindexes.IsUnique(index.Vindex) { continue } if values := getMatch(where.Expr, index.Column); values != nil { route.Vindex = index.Vindex route.Values = values return nil } } return errors.New("unsupported: multi-shard where clause in DML") }