@Override public Set<String> getRoles(String user) { return loadValue(rolesCache, user, () -> delegate.getRoles(user)); }
@Override public Optional<List<String>> getAllTables(String databaseName) { return loadValue(allTablesCache, databaseName, () -> delegate.getAllTables(databaseName)); }
@Override public Optional<Database> getDatabase(String databaseName) { return loadValue(databaseCache, databaseName, () -> delegate.getDatabase(databaseName)); }
@Override public Optional<List<String>> getAllViews(String databaseName) { return loadValue(allViewsCache, databaseName, () -> delegate.getAllViews(databaseName)); }
@Override public Map<String, Optional<Partition>> getPartitionsByNames(String databaseName, String tableName, List<String> partitionNames) { return loadValue( partitionsByNamesCache, getHivePartitionNames(databaseName, tableName, ImmutableSet.copyOf(partitionNames)), () -> delegate.getPartitionsByNames(databaseName, tableName, partitionNames)); }
@Override public Optional<Table> getTable(String databaseName, String tableName) { return loadValue(tableCache, hiveTableName(databaseName, tableName), () -> delegate.getTable(databaseName, tableName)); }
@Override public Optional<List<String>> getPartitionNamesByParts(String databaseName, String tableName, List<String> parts) { return loadValue( partitionNamesByPartsCache, partitionFilter(databaseName, tableName, parts), () -> delegate.getPartitionNamesByParts(databaseName, tableName, parts)); }
@Override public Set<HivePrivilegeInfo> getTablePrivileges(String user, String databaseName, String tableName) { return loadValue( tablePrivilegesCache, new UserTableKey(user, databaseName, tableName), () -> delegate.getTablePrivileges(user, databaseName, tableName)); }
@Override public Map<String, PartitionStatistics> getPartitionStatistics(String databaseName, String tableName, Set<String> partitionNames) { return loadValue( partitionStatisticsCache, getHivePartitionNames(databaseName, tableName, partitionNames), () -> delegate.getPartitionStatistics(databaseName, tableName, partitionNames)); }
@Override public PartitionStatistics getTableStatistics(String databaseName, String tableName) { return loadValue( tableStatisticsCache, hiveTableName(databaseName, tableName), () -> delegate.getTableStatistics(databaseName, tableName)); }
@Override public Optional<Partition> getPartition(String databaseName, String tableName, List<String> partitionValues) { return loadValue( partitionCache, hivePartitionName(databaseName, tableName, partitionValues), () -> delegate.getPartition(databaseName, tableName, partitionValues)); }
@Override public Optional<List<String>> getPartitionNames(String databaseName, String tableName) { return loadValue( partitionNamesCache, hiveTableName(databaseName, tableName), () -> delegate.getPartitionNames(databaseName, tableName)); }
@Override public Set<HivePrivilegeInfo> getDatabasePrivileges(String user, String databaseName) { return loadValue( databasePrivilegesCache, new UserDatabaseKey(user, databaseName), () -> delegate.getDatabasePrivileges(user, databaseName)); }
@Override public Set<ColumnStatisticType> getSupportedColumnStatistics(Type type) { return loadValue(supportedColumnStatisticsCache, type.getTypeSignature().toString(), () -> delegate.getSupportedColumnStatistics(type)); }