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