aws-glue-datacatalog-hive2-client/src/main/java/com/amazonaws/glue/catalog/metastore/AWSCatalogMetastoreClient.java [999:1114]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  @Override
  public Index getIndex(String dbName, String tblName, String indexName) throws MetaException, UnknownTableException,
        NoSuchObjectException, TException {
    org.apache.hadoop.hive.metastore.api.Table originTable = getTable(dbName, tblName);
    Map<String, String> map = originTable.getParameters();
    String indexTableName = INDEX_PREFIX + indexName;
    if(!map.containsKey(indexTableName)) {
      throw new NoSuchObjectException("can not find index: " + indexName);
    }
    Table indexTableObject = stringToCatalogTable(map.get(indexTableName));
    return CatalogToHiveConverter.convertTableObjectToIndex(indexTableObject);
  }

  @Override
  public String getMetaConf(String key) throws MetaException, TException {
    ConfVars metaConfVar = HiveConf.getMetaConf(key);
    if (metaConfVar == null) {
      throw new MetaException("Invalid configuration key " + key);
    }
    return conf.get(key, metaConfVar.getDefaultValue());
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Partition getPartition(String dbName, String tblName, List<String> values)
      throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getPartition(dbName, tblName, values);
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Partition getPartition(String dbName, String tblName, String partitionName)
      throws MetaException, UnknownTableException, NoSuchObjectException, TException {
    return glueMetastoreClientDelegate.getPartition(dbName, tblName, partitionName);
  }

  @Override
  public Map<String, List<ColumnStatisticsObj>> getPartitionColumnStatistics(
      String dbName,
      String tableName,
      List<String> partitionNames,
      List<String> columnNames
  ) throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getPartitionColumnStatistics(dbName, tableName, partitionNames, columnNames);
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Partition getPartitionWithAuthInfo(
        String databaseName, String tableName, List<String> values,
        String userName, List<String> groupNames)
        throws MetaException, UnknownTableException, NoSuchObjectException, TException {

    // TODO move this into the service
    org.apache.hadoop.hive.metastore.api.Partition partition = getPartition(databaseName, tableName, values);
    org.apache.hadoop.hive.metastore.api.Table table = getTable(databaseName, tableName);
    if ("TRUE".equalsIgnoreCase(table.getParameters().get("PARTITION_LEVEL_PRIVILEGE"))) {
      String partName = Warehouse.makePartName(table.getPartitionKeys(), values);
      HiveObjectRef obj = new HiveObjectRef();
      obj.setObjectType(HiveObjectType.PARTITION);
      obj.setDbName(databaseName);
      obj.setObjectName(tableName);
      obj.setPartValues(values);
      org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet privilegeSet =
            this.get_privilege_set(obj, userName, groupNames);
      partition.setPrivileges(privilegeSet);
    }

    return partition;
  }

  @Override
  public List<org.apache.hadoop.hive.metastore.api.Partition> getPartitionsByNames(
        String databaseName, String tableName, List<String> partitionNames)
        throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getPartitionsByNames(databaseName, tableName, partitionNames);
  }

  @Override
  public List<FieldSchema> getSchema(String db, String tableName) throws MetaException, TException, UnknownTableException,
        UnknownDBException {
    return glueMetastoreClientDelegate.getSchema(db, tableName);
  }

  @Deprecated
  public org.apache.hadoop.hive.metastore.api.Table getTable(String tableName) throws MetaException, TException, NoSuchObjectException {
    //this has been deprecated
    return getTable(DEFAULT_DATABASE_NAME, tableName);
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Table getTable(String dbName, String tableName)
        throws MetaException, TException, NoSuchObjectException {
    return glueMetastoreClientDelegate.getTable(dbName, tableName);
  }

  @Override
  public List<ColumnStatisticsObj> getTableColumnStatistics(String dbName, String tableName, List<String> colNames)
      throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getTableColumnStatistics(dbName, tableName, colNames);
  }

  @Override
  public List<org.apache.hadoop.hive.metastore.api.Table> getTableObjectsByName(String dbName, List<String> tableNames) throws MetaException,
        InvalidOperationException, UnknownDBException, TException {
    List<org.apache.hadoop.hive.metastore.api.Table> hiveTables = Lists.newArrayList();
    for(String tableName : tableNames) {
      hiveTables.add(getTable(dbName, tableName));
    }

    return hiveTables;
  }

  @Override
  public List<String> getTables(String dbname, String tablePattern) throws MetaException, TException, UnknownDBException {
    return glueMetastoreClientDelegate.getTables(dbname, tablePattern);
  }

  @Override
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



aws-glue-datacatalog-spark-client/src/main/java/com/amazonaws/glue/catalog/metastore/AWSCatalogMetastoreClient.java [871:986]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  @Override
  public Index getIndex(String dbName, String tblName, String indexName) throws MetaException, UnknownTableException,
        NoSuchObjectException, TException {
      org.apache.hadoop.hive.metastore.api.Table originTable = getTable(dbName, tblName);
      Map<String, String> map = originTable.getParameters();
      String indexTableName = INDEX_PREFIX + indexName;
      if(!map.containsKey(indexTableName)) {
          throw new NoSuchObjectException("can not find index: " + indexName);
      }
      Table indexTableObject = stringToCatalogTable(map.get(indexTableName));
      return CatalogToHiveConverter.convertTableObjectToIndex(indexTableObject);
  }

  @Override
  public String getMetaConf(String key) throws MetaException, TException {
      ConfVars metaConfVar = HiveConf.getMetaConf(key);
      if (metaConfVar == null) {
          throw new MetaException("Invalid configuration key " + key);
      }
      return conf.get(key, metaConfVar.getDefaultValue());
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Partition getPartition(String dbName, String tblName, List<String> values)
      throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getPartition(dbName, tblName, values);
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Partition getPartition(String dbName, String tblName, String partitionName)
      throws MetaException, UnknownTableException, NoSuchObjectException, TException {
    return glueMetastoreClientDelegate.getPartition(dbName, tblName, partitionName);
  }

  @Override
  public Map<String, List<ColumnStatisticsObj>> getPartitionColumnStatistics(
      String dbName,
      String tableName,
      List<String> partitionNames,
      List<String> columnNames
  ) throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getPartitionColumnStatistics(dbName, tableName, partitionNames, columnNames);
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Partition getPartitionWithAuthInfo(
        String databaseName, String tableName, List<String> values,
        String userName, List<String> groupNames)
        throws MetaException, UnknownTableException, NoSuchObjectException, TException {

      // TODO move this into the service
      org.apache.hadoop.hive.metastore.api.Partition partition = getPartition(databaseName, tableName, values);
      org.apache.hadoop.hive.metastore.api.Table table = getTable(databaseName, tableName);
      if ("TRUE".equalsIgnoreCase(table.getParameters().get("PARTITION_LEVEL_PRIVILEGE"))) {
          String partName = Warehouse.makePartName(table.getPartitionKeys(), values);
          HiveObjectRef obj = new HiveObjectRef();
          obj.setObjectType(HiveObjectType.PARTITION);
          obj.setDbName(databaseName);
          obj.setObjectName(tableName);
          obj.setPartValues(values);
          org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet privilegeSet =
                this.get_privilege_set(obj, userName, groupNames);
          partition.setPrivileges(privilegeSet);
      }

      return partition;
  }

  @Override
  public List<org.apache.hadoop.hive.metastore.api.Partition> getPartitionsByNames(
        String databaseName, String tableName, List<String> partitionNames)
        throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getPartitionsByNames(databaseName, tableName, partitionNames);
  }

  @Override
  public List<FieldSchema> getSchema(String db, String tableName) throws MetaException, TException, UnknownTableException,
        UnknownDBException {
    return glueMetastoreClientDelegate.getSchema(db, tableName);    
  }

  @Deprecated
  public org.apache.hadoop.hive.metastore.api.Table getTable(String tableName) throws MetaException, TException, NoSuchObjectException {
      //this has been deprecated
      return getTable(DEFAULT_DATABASE_NAME, tableName);
  }

  @Override
  public org.apache.hadoop.hive.metastore.api.Table getTable(String dbName, String tableName)
        throws MetaException, TException, NoSuchObjectException {
    return glueMetastoreClientDelegate.getTable(dbName, tableName);
  }

  @Override
  public List<ColumnStatisticsObj> getTableColumnStatistics(String dbName, String tableName, List<String> colNames)
      throws NoSuchObjectException, MetaException, TException {
    return glueMetastoreClientDelegate.getTableColumnStatistics(dbName, tableName, colNames);
  }

  @Override
  public List<org.apache.hadoop.hive.metastore.api.Table> getTableObjectsByName(String dbName, List<String> tableNames) throws MetaException,
        InvalidOperationException, UnknownDBException, TException {
      List<org.apache.hadoop.hive.metastore.api.Table> hiveTables = Lists.newArrayList();
      for(String tableName : tableNames) {
          hiveTables.add(getTable(dbName, tableName));
      }

      return hiveTables;
  }

  @Override
  public List<String> getTables(String dbname, String tablePattern) throws MetaException, TException, UnknownDBException {
    return glueMetastoreClientDelegate.getTables(dbname, tablePattern);
  }

  @Override
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



