@Override public ReturnState existIndexByName(RpcController controller, IndexNameProto request) { String dbName = request.getDatabaseName(); String indexName = request.getIndexName(); try { // linked meta data do not support index. The request will be failed. if (linkedMetadataManager.existsDatabase(dbName)) { return errUndefinedIndexName(indexName); } } catch (Throwable t) { printStackTraceIfError(LOG, t); return returnError(t); } rlock.lock(); try { return store.existIndexByName(dbName, indexName) ? OK : errUndefinedIndexName(indexName); } catch (Throwable t) { printStackTraceIfError(LOG, t); return returnError(t); } finally { rlock.unlock(); } }
@Override public ReturnState existIndexByName(RpcController controller, IndexNameProto request) { String dbName = request.getDatabaseName(); String indexName = request.getIndexName(); try { // linked meta data do not support index. The request will be failed. if (linkedMetadataManager.existsDatabase(dbName)) { return errUndefinedIndexName(indexName); } } catch (Throwable t) { printStackTraceIfError(LOG, t); return returnError(t); } rlock.lock(); try { return store.existIndexByName(dbName, indexName) ? OK : errUndefinedIndexName(indexName); } catch (Throwable t) { printStackTraceIfError(LOG, t); return returnError(t); } finally { rlock.unlock(); } }
@Override public IndexResponse getIndexByName(RpcController controller, IndexNameProto request) throws ServiceException { String databaseName = request.getDatabaseName(); String indexName = request.getIndexName(); rlock.lock(); try { if (!store.existIndexByName(databaseName, indexName)) { return IndexResponse.newBuilder() .setState(errUndefinedIndexName(indexName)) .build(); } return IndexResponse.newBuilder() .setState(OK) .setIndexDesc(store.getIndexByName(databaseName, indexName)) .build(); } catch (Throwable t) { printStackTraceIfError(LOG, t); return IndexResponse.newBuilder() .setState(returnError(t)) .build(); } finally { rlock.unlock(); } }
@Override public IndexResponse getIndexByName(RpcController controller, IndexNameProto request) throws ServiceException { String databaseName = request.getDatabaseName(); String indexName = request.getIndexName(); rlock.lock(); try { if (!store.existIndexByName(databaseName, indexName)) { return IndexResponse.newBuilder() .setState(errUndefinedIndexName(indexName)) .build(); } return IndexResponse.newBuilder() .setState(OK) .setIndexDesc(store.getIndexByName(databaseName, indexName)) .build(); } catch (Throwable t) { printStackTraceIfError(LOG, t); return IndexResponse.newBuilder() .setState(returnError(t)) .build(); } finally { rlock.unlock(); } }
@Override public ReturnState existIndexWithName(RpcController controller, SessionedStringProto request) throws ServiceException { try { context.getSessionManager().touch(request.getSessionId().getId()); Session session = context.getSessionManager().getSession(request.getSessionId().getId()); String indexName, databaseName; if (CatalogUtil.isFQTableName(request.getValue())) { String [] splitted = CatalogUtil.splitFQTableName(request.getValue()); databaseName = splitted[0]; indexName = splitted[1]; } else { databaseName = session.getCurrentDatabase(); indexName = request.getValue(); } if (catalog.existIndexByName(databaseName, indexName)) { return OK; } else { return errUndefinedIndexName(indexName); } } catch (Throwable t) { return returnError(t); } }
@Override public ReturnState existIndexWithName(RpcController controller, SessionedStringProto request) throws ServiceException { try { context.getSessionManager().touch(request.getSessionId().getId()); Session session = context.getSessionManager().getSession(request.getSessionId().getId()); String indexName, databaseName; if (IdentifierUtil.isFQTableName(request.getValue())) { String [] splitted = IdentifierUtil.splitFQTableName(request.getValue()); databaseName = splitted[0]; indexName = splitted[1]; } else { databaseName = session.getCurrentDatabase(); indexName = request.getValue(); } if (catalog.existIndexByName(databaseName, indexName)) { return OK; } else { return errUndefinedIndexName(indexName); } } catch (Throwable t) { return returnError(t); } }