Ejemplo n.º 1
0
 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());
 }
Ejemplo n.º 2
0
 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());
 }
Ejemplo n.º 3
0
 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());
   }
 }
Ejemplo n.º 4
0
    @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();
      }
    }