public function executeShards(Context $ctx, $query, $keyspace, array $shards, array $bind_vars, $tablet_type) { $request = new Proto\Vtgate\ExecuteShardsRequest(); $request->setQuery(ProtoUtils::BoundQuery($query, $bind_vars)); $request->setTabletType($tablet_type); $request->setKeyspace($keyspace); $request->setShards($shards); if ($ctx->getCallerId()) { $request->setCallerId($ctx->getCallerId()); } $response = $this->client->executeShards($ctx, $request); ProtoUtils::checkError($response); return new Cursor($response->getResult()); }