public function executeShards(VTContext $ctx, $query, $keyspace, array $shards, array $bind_vars, $tablet_type) { $request = new \vtgate\ExecuteShardsRequest(); $request->setQuery(VTProto::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); VTProto::checkError($response); return new VTCursor($response->getResult()); }
public function executeShards(VTContext $ctx, $query, $keyspace, array $shards, array $bind_vars, $tablet_type = \topodata\TabletType::MASTER, $not_in_transaction = FALSE) { if (!$this->inTransaction()) { throw new VTException('execute called while not in transaction.'); } $request = new \vtgate\ExecuteShardsRequest(); $request->setSession($this->session); $request->setQuery(VTProto::BoundQuery($query, $bind_vars)); $request->setTabletType($tablet_type); $request->setNotInTransaction($not_in_transaction); $request->setKeyspace($keyspace); $request->setShards($shards); if ($ctx->getCallerId()) { $request->setCallerId($ctx->getCallerId()); } $response = $this->client->executeShards($ctx, $request); $this->session = $response->getSession(); VTProto::checkError($response); return new VTCursor($response->getResult()); }