Package io.trino.plugin.hive.metastore
Interface HiveMetastore
-
- All Known Implementing Classes:
AlluxioHiveMetastore,BridgingHiveMetastore,CachingHiveMetastore,FileHiveMetastore,ForwardingHiveMetastore,GlueHiveMetastore,RecordingHiveMetastore
public interface HiveMetastore
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidabortTransaction(long transactionId)default voidacquireSharedReadLock(AcidTransactionOwner transactionOwner, String queryId, long transactionId, List<SchemaTableName> fullTables, List<HivePartition> partitions)default voidacquireTableWriteLock(AcidTransactionOwner transactionOwner, String queryId, long transactionId, String dbName, String tableName, org.apache.hadoop.hive.metastore.api.DataOperationType operation, boolean isDynamicPartitionWrite)voidaddColumn(String databaseName, String tableName, String columnName, HiveType columnType, String columnComment)default voidaddDynamicPartitions(String dbName, String tableName, List<String> partitionNames, long transactionId, long writeId, AcidOperation operation)voidaddPartitions(String databaseName, String tableName, List<PartitionWithStatistics> partitions)default longallocateWriteId(String dbName, String tableName, long transactionId)voidalterPartition(String databaseName, String tableName, PartitionWithStatistics partition)default voidalterPartitions(String dbName, String tableName, List<Partition> partitions, long writeId)default voidalterTransactionalTable(Table table, long transactionId, long writeId, PrincipalPrivileges principalPrivileges)voidcommentColumn(String databaseName, String tableName, String columnName, Optional<String> comment)voidcommentTable(String databaseName, String tableName, Optional<String> comment)default voidcommitTransaction(long transactionId)voidcreateDatabase(Database database)voidcreateRole(String role, String grantor)voidcreateTable(Table table, PrincipalPrivileges principalPrivileges)voiddropColumn(String databaseName, String tableName, String columnName)voiddropDatabase(String databaseName, boolean deleteData)voiddropPartition(String databaseName, String tableName, List<String> parts, boolean deleteData)voiddropRole(String role)voiddropTable(String databaseName, String tableName, boolean deleteData)List<String>getAllDatabases()List<String>getAllTables(String databaseName)List<String>getAllViews(String databaseName)default Optional<String>getConfigValue(String name)Optional<Database>getDatabase(String databaseName)Optional<Partition>getPartition(Table table, List<String> partitionValues)Optional<List<String>>getPartitionNamesByFilter(String databaseName, String tableName, List<String> columnNames, TupleDomain<String> partitionKeysFilter)Return a list of partition names, with optional filtering (hint to improve performance if possible).Map<String,Optional<Partition>>getPartitionsByNames(Table table, List<String> partitionNames)Map<String,PartitionStatistics>getPartitionStatistics(Table table, List<Partition> partitions)Set<ColumnStatisticType>getSupportedColumnStatistics(Type type)Optional<Table>getTable(String databaseName, String tableName)PartitionStatisticsgetTableStatistics(Table table)List<String>getTablesWithParameter(String databaseName, String parameterKey, String parameterValue)default StringgetValidWriteIds(List<SchemaTableName> tables, long currentTransactionId)voidgrantRoles(Set<String> roles, Set<HivePrincipal> grantees, boolean adminOption, HivePrincipal grantor)voidgrantTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set<HivePrivilegeInfo.HivePrivilege> privileges, boolean grantOption)Set<RoleGrant>listGrantedPrincipals(String role)Set<RoleGrant>listRoleGrants(HivePrincipal principal)Set<String>listRoles()Set<HivePrivilegeInfo>listTablePrivileges(String databaseName, String tableName, Optional<String> tableOwner, Optional<HivePrincipal> principal)default longopenTransaction(AcidTransactionOwner transactionOwner)voidrenameColumn(String databaseName, String tableName, String oldColumnName, String newColumnName)voidrenameDatabase(String databaseName, String newDatabaseName)voidrenameTable(String databaseName, String tableName, String newDatabaseName, String newTableName)voidreplaceTable(String databaseName, String tableName, Table newTable, PrincipalPrivileges principalPrivileges)This should only be used if the semantic here is drop and add.voidrevokeRoles(Set<String> roles, Set<HivePrincipal> grantees, boolean adminOption, HivePrincipal grantor)voidrevokeTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set<HivePrivilegeInfo.HivePrivilege> privileges, boolean grantOption)default voidsendTransactionHeartbeat(long transactionId)voidsetDatabaseOwner(String databaseName, HivePrincipal principal)voidsetTableOwner(String databaseName, String tableName, HivePrincipal principal)default voidupdatePartitionStatistics(Table table, String partitionName, Function<PartitionStatistics,PartitionStatistics> update)voidupdatePartitionStatistics(Table table, Map<String,Function<PartitionStatistics,PartitionStatistics>> updates)voidupdateTableStatistics(String databaseName, String tableName, AcidTransaction transaction, Function<PartitionStatistics,PartitionStatistics> update)default voidupdateTableWriteId(String dbName, String tableName, long transactionId, long writeId, OptionalLong rowCountChange)
-
-
-
Method Detail
-
getSupportedColumnStatistics
Set<ColumnStatisticType> getSupportedColumnStatistics(Type type)
-
getTableStatistics
PartitionStatistics getTableStatistics(Table table)
-
getPartitionStatistics
Map<String,PartitionStatistics> getPartitionStatistics(Table table, List<Partition> partitions)
-
updateTableStatistics
void updateTableStatistics(String databaseName, String tableName, AcidTransaction transaction, Function<PartitionStatistics,PartitionStatistics> update)
-
updatePartitionStatistics
default void updatePartitionStatistics(Table table, String partitionName, Function<PartitionStatistics,PartitionStatistics> update)
-
updatePartitionStatistics
void updatePartitionStatistics(Table table, Map<String,Function<PartitionStatistics,PartitionStatistics>> updates)
-
getTablesWithParameter
List<String> getTablesWithParameter(String databaseName, String parameterKey, String parameterValue)
-
createDatabase
void createDatabase(Database database)
-
dropDatabase
void dropDatabase(String databaseName, boolean deleteData)
-
setDatabaseOwner
void setDatabaseOwner(String databaseName, HivePrincipal principal)
-
createTable
void createTable(Table table, PrincipalPrivileges principalPrivileges)
-
replaceTable
void replaceTable(String databaseName, String tableName, Table newTable, PrincipalPrivileges principalPrivileges)
This should only be used if the semantic here is drop and add. Trying to alter one field of a table object previously acquired from getTable is probably not what you want.
-
renameTable
void renameTable(String databaseName, String tableName, String newDatabaseName, String newTableName)
-
setTableOwner
void setTableOwner(String databaseName, String tableName, HivePrincipal principal)
-
commentColumn
void commentColumn(String databaseName, String tableName, String columnName, Optional<String> comment)
-
addColumn
void addColumn(String databaseName, String tableName, String columnName, HiveType columnType, String columnComment)
-
renameColumn
void renameColumn(String databaseName, String tableName, String oldColumnName, String newColumnName)
-
getPartitionNamesByFilter
Optional<List<String>> getPartitionNamesByFilter(String databaseName, String tableName, List<String> columnNames, TupleDomain<String> partitionKeysFilter)
Return a list of partition names, with optional filtering (hint to improve performance if possible).- Parameters:
databaseName- the name of the databasetableName- the name of the tablecolumnNames- the list of partition column namespartitionKeysFilter- optional filter for the partition column values- Returns:
- a list of partition names as created by
MetastoreUtil.toPartitionName(java.util.List<java.lang.String>, java.util.List<java.lang.String>) - See Also:
TupleDomain
-
getPartitionsByNames
Map<String,Optional<Partition>> getPartitionsByNames(Table table, List<String> partitionNames)
-
addPartitions
void addPartitions(String databaseName, String tableName, List<PartitionWithStatistics> partitions)
-
dropPartition
void dropPartition(String databaseName, String tableName, List<String> parts, boolean deleteData)
-
alterPartition
void alterPartition(String databaseName, String tableName, PartitionWithStatistics partition)
-
dropRole
void dropRole(String role)
-
grantRoles
void grantRoles(Set<String> roles, Set<HivePrincipal> grantees, boolean adminOption, HivePrincipal grantor)
-
revokeRoles
void revokeRoles(Set<String> roles, Set<HivePrincipal> grantees, boolean adminOption, HivePrincipal grantor)
-
listRoleGrants
Set<RoleGrant> listRoleGrants(HivePrincipal principal)
-
grantTablePrivileges
void grantTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set<HivePrivilegeInfo.HivePrivilege> privileges, boolean grantOption)
-
revokeTablePrivileges
void revokeTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set<HivePrivilegeInfo.HivePrivilege> privileges, boolean grantOption)
-
listTablePrivileges
Set<HivePrivilegeInfo> listTablePrivileges(String databaseName, String tableName, Optional<String> tableOwner, Optional<HivePrincipal> principal)
- Parameters:
tableOwner-principal- when empty, all table privileges are returned
-
openTransaction
default long openTransaction(AcidTransactionOwner transactionOwner)
-
commitTransaction
default void commitTransaction(long transactionId)
-
abortTransaction
default void abortTransaction(long transactionId)
-
sendTransactionHeartbeat
default void sendTransactionHeartbeat(long transactionId)
-
acquireSharedReadLock
default void acquireSharedReadLock(AcidTransactionOwner transactionOwner, String queryId, long transactionId, List<SchemaTableName> fullTables, List<HivePartition> partitions)
-
getValidWriteIds
default String getValidWriteIds(List<SchemaTableName> tables, long currentTransactionId)
-
acquireTableWriteLock
default void acquireTableWriteLock(AcidTransactionOwner transactionOwner, String queryId, long transactionId, String dbName, String tableName, org.apache.hadoop.hive.metastore.api.DataOperationType operation, boolean isDynamicPartitionWrite)
-
updateTableWriteId
default void updateTableWriteId(String dbName, String tableName, long transactionId, long writeId, OptionalLong rowCountChange)
-
alterPartitions
default void alterPartitions(String dbName, String tableName, List<Partition> partitions, long writeId)
-
addDynamicPartitions
default void addDynamicPartitions(String dbName, String tableName, List<String> partitionNames, long transactionId, long writeId, AcidOperation operation)
-
alterTransactionalTable
default void alterTransactionalTable(Table table, long transactionId, long writeId, PrincipalPrivileges principalPrivileges)
-
-