Example #1
0
 public function executeShards(Context $ctx, $query, $keyspace, array $shards, array $bind_vars, $tablet_type = Proto\Topodata\TabletType::MASTER, $not_in_transaction = FALSE)
 {
     if (!$this->inTransaction()) {
         throw new \Vitess\Exception('execute called while not in transaction.');
     }
     $request = new Proto\Vtgate\ExecuteShardsRequest();
     $request->setSession($this->session);
     $request->setQuery(ProtoUtils::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();
     ProtoUtils::checkError($response);
     return new Cursor($response->getResult());
 }
Example #2
0
 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());
 }