class GlueMetastoreClientDelegate {

  public List<FieldSchema> getFields(String db, String tableName) throws MetaException, TException,
      UnknownTableException, UnknownDBException {
    try {
      Table table = glueMetastore.getTable(db, tableName);
      return CatalogToHiveConverter.convertFieldSchemaList(table.getStorageDescriptor().getColumns());
    } catch (AmazonServiceException e) {
      throw CatalogToHiveConverter.wrapInHiveException(e);
    } catch (Exception e) {
      String msg = "Unable to get field from table: ";
      logger.error(msg, e);
      throw new MetaException(msg + e);
    }
  }

  public  GlueMetastoreClientDelegate(HiveConf conf, AWSGlueMetastore glueMetastore,
                                     Warehouse wh);

}