Package io.trino.plugin.hive.metastore
Interface HiveMetastore
- All Known Implementing Classes:
BridgingHiveMetastore,CachingHiveMetastore,FileHiveMetastore,ForwardingHiveMetastore,GlueHiveMetastore,RecordingHiveMetastore
public interface HiveMetastore
-
Method Summary
Modifier and TypeMethodDescriptiondefault 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, io.trino.hive.thrift.metastore.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) default voidvoidvoidcommentTable(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) voidvoidgetAllTables(String databaseName) getAllViews(String databaseName) Lists views and materialized views from given database.getConfigValue(String name) getDatabase(String databaseName) getPartition(Table table, List<String> partitionValues) 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).getPartitionsByNames(Table table, List<String> partitionNames) getPartitionStatistics(Table table, List<Partition> partitions) getTableStatistics(Table table) 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) listGrantedPrincipals(String role) listRoleGrants(HivePrincipal principal) 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 Details
-
getDatabase
-
getAllDatabases
-
getTable
-
getSupportedColumnStatistics
-
getTableStatistics
-
getPartitionStatistics
-
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) -
getAllTables
-
getAllTables
Optional<List<SchemaTableName>> getAllTables()- Returns:
- List of tables, views and materialized views names from all schemas or Optional.empty if operation is not supported
-
getTablesWithParameter
-
getAllViews
Lists views and materialized views from given database. -
getAllViews
Optional<List<SchemaTableName>> getAllViews()- Returns:
- List of views including materialized views names from all schemas or Optional.empty if operation is not supported
-
createDatabase
-
dropDatabase
-
renameDatabase
-
setDatabaseOwner
-
createTable
-
dropTable
-
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
-
commentTable
-
setTableOwner
-
commentColumn
-
addColumn
-
renameColumn
-
dropColumn
-
getPartition
-
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:
-
getPartitionsByNames
-
addPartitions
-
dropPartition
-
alterPartition
-
createRole
-
dropRole
-
listRoles
-
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) -
listGrantedPrincipals
-
listRoleGrants
-
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:
principal- when empty, all table privileges are returned
-
checkSupportsTransactions
default void checkSupportsTransactions() -
openTransaction
-
commitTransaction
default void commitTransaction(long transactionId) -
abortTransaction
default void abortTransaction(long transactionId) -
sendTransactionHeartbeat
default void sendTransactionHeartbeat(long transactionId) -
getValidWriteIds
-
getConfigValue
-
allocateWriteId
-
acquireTableWriteLock
default void acquireTableWriteLock(AcidTransactionOwner transactionOwner, String queryId, long transactionId, String dbName, String tableName, io.trino.hive.thrift.metastore.DataOperationType operation, boolean isDynamicPartitionWrite) -
updateTableWriteId
default void updateTableWriteId(String dbName, String tableName, long transactionId, long writeId, OptionalLong rowCountChange) -
alterPartitions
-
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)
-