コード例 #1
0
ファイル: VTGateConn.php プロジェクト: hediehy/vitess
 public function execute(VTContext $ctx, $query, array $bind_vars, $tablet_type)
 {
     $request = new \vtgate\ExecuteRequest();
     $request->setQuery(VTProto::BoundQuery($query, $bind_vars));
     $request->setTabletType($tablet_type);
     if ($ctx->getCallerId()) {
         $request->setCallerId($ctx->getCallerId());
     }
     $response = $this->client->execute($ctx, $request);
     VTProto::checkError($response);
     return new VTCursor($response->getResult());
 }
コード例 #2
0
ファイル: VTGateTx.php プロジェクト: hediehy/vitess
 public function execute(VTContext $ctx, $query, 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\ExecuteRequest();
     $request->setSession($this->session);
     $request->setQuery(VTProto::BoundQuery($query, $bind_vars));
     $request->setTabletType($tablet_type);
     $request->setNotInTransaction($not_in_transaction);
     if ($ctx->getCallerId()) {
         $request->setCallerId($ctx->getCallerId());
     }
     $response = $this->client->execute($ctx, $request);
     $this->session = $response->getSession();
     VTProto::checkError($response);
     return new VTCursor($response->getResult());
 }