@Override protected void doPrepare() { String tableName = prepared.getTableName(); String indexName = prepared.getIndexName(); TableMate table = getTableMate(tableName); IndexColumn.mapColumns(prepared.getIndexColumns(), table); RoutingResult rr = routingHandler.doRoute(table); ObjectNode[] selectNodes = rr.getSelectNodes(); workers = New.arrayList(selectNodes.length); for (ObjectNode tableNode : selectNodes) { ObjectNode indexNode = new ObjectNode(tableNode.getShardName(), tableNode.getCatalog(), tableNode.getSchema(), indexName, tableNode.getSuffix()); UpdateWorker worker = queryHandlerFactory.createUpdateWorker(prepared, indexNode, tableNode); workers.add(worker); } }