public TableDesc attachTable(String name, String path) throws ServiceException { AttachTableRequest.Builder builder = AttachTableRequest.newBuilder(); builder.setName(name); builder.setPath(path); TableResponse res = service.attachTable(null, builder.build()); return TCatUtil.newTableDesc(res.getTableDesc()); }
public TableDesc createTable(String name, Path path, TableMeta meta) throws ServiceException { CreateTableRequest.Builder builder = CreateTableRequest.newBuilder(); builder.setName(name); builder.setPath(path.toString()); builder.setMeta(meta.getProto()); TableResponse res = service.createTable(null, builder.build()); return TCatUtil.newTableDesc(res.getTableDesc()); }
public TableDesc getTableDesc(String tableName) throws ServiceException { GetTableDescRequest.Builder build = GetTableDescRequest.newBuilder(); build.setTableName(tableName); TableResponse res = service.getTableDesc(null, build.build()); if (res == null) { return null; } else { return TCatUtil.newTableDesc(res.getTableDesc()); } }
@Override public TableResponse getTableDesc(RpcController controller, TableIdentifierProto request) throws ServiceException { String dbName = request.getDatabaseName(); String tbName = request.getTableName(); try { if (linkedMetadataManager.existsDatabase(dbName)) { return TableResponse.newBuilder() .setState(OK) .setTable(linkedMetadataManager.getTable(dbName, "", tbName).getProto()) .build(); } } catch (Throwable t) { printStackTraceIfError(LOG, t); return TableResponse.newBuilder().setState(returnError(t)).build(); } if (metaDictionary.isSystemDatabase(dbName)) { try { return TableResponse.newBuilder() .setState(OK) .setTable(metaDictionary.getTableDesc(tbName)) .build(); } catch (UndefinedTableException e) { return TableResponse.newBuilder().setState(errUndefinedTable(tbName)).build(); } } rlock.lock(); try { return TableResponse.newBuilder() .setState(OK) .setTable(store.getTable(dbName, tbName)) .build(); } catch (Throwable t) { printStackTraceIfError(LOG, t); return TableResponse.newBuilder().setState(returnError(t)).build(); } finally { rlock.unlock(); } }