public function getSrvKeyspace(VTContext $ctx, $keyspace) { $req = array('Keyspace' => $keyspace); if ($ctx->getCallerId()) { $req['CallerId'] = $ctx->getCallerId()->toBsonP3(); } $resp = $this->client->call($ctx, 'VTGateP3.GetSrvKeyspace', $req)->reply; return VTSrvKeyspace::fromBsonP3($resp['SrvKeyspace']); }
public function splitQuery(VTContext $ctx, $keyspace, $query, array $bind_vars, $split_column, $split_count) { $request = new \vtgate\SplitQueryRequest(); $request->setKeyspace($keyspace); $request->setQuery(VTProto::BoundQuery($query, $bind_vars)); $request->setSplitColumn($split_column); $request->setSplitCount($split_count); if ($ctx->getCallerId()) { $request->setCallerId($ctx->getCallerId()); } $response = $this->client->splitQuery($ctx, $request); return $response->getSplitsList(); }
public function rollback(VTContext $ctx) { if (!$this->inTransaction()) { throw new VTException('rollback called while not in transaction.'); } $request = new \vtgate\RollbackRequest(); $request->setSession($this->session); if ($ctx->getCallerId()) { $request->setCallerId($ctx->getCallerId()); } $response = $this->client->rollback($ctx, $request); $this->session = NULL; }
public function begin(VTContext $ctx) { $req = array(); if ($ctx->getCallerId()) { $req['CallerId'] = $ctx->getCallerId()->toBsonP3(); } $resp = $this->client->call($ctx, 'VTGateP3.Begin', $req)->reply; return new VTGateTx($this->client, $resp['Session']); }