Package io.trino.plugin.hive
Class HiveMetadata
- java.lang.Object
-
- io.trino.plugin.hive.HiveMetadata
-
- All Implemented Interfaces:
TransactionalMetadata,ConnectorMetadata
public class HiveMetadata extends Object implements TransactionalMetadata
-
-
Field Summary
Fields Modifier and Type Field Description static StringAVRO_SCHEMA_URL_KEYstatic StringBUCKETING_VERSIONstatic StringPRESTO_QUERY_ID_NAMEstatic StringPRESTO_VERSION_NAMEstatic StringPRESTO_VIEW_COMMENTstatic StringPRESTO_VIEW_EXPANDED_TEXT_MARKERstatic StringSKIP_FOOTER_COUNT_KEYstatic StringSKIP_HEADER_COUNT_KEYstatic StringSTORAGE_TABLEstatic StringTABLE_COMMENTstatic StringTRINO_CREATED_BY
-
Constructor Summary
Constructors Constructor Description HiveMetadata(CatalogName catalogName, SemiTransactionalHiveMetastore metastore, HdfsEnvironment hdfsEnvironment, HivePartitionManager partitionManager, boolean writesToNonManagedTablesEnabled, boolean createsOfNonManagedTablesEnabled, boolean translateHiveViews, boolean hideDeltaLakeTables, TypeManager typeManager, LocationService locationService, io.airlift.json.JsonCodec<PartitionUpdate> partitionUpdateCodec, String trinoVersion, HiveStatisticsProvider hiveStatisticsProvider, HiveRedirectionsProvider hiveRedirectionsProvider, Set<SystemTableProvider> systemTableProviders, HiveMaterializedViewMetadata hiveMaterializedViewMetadata, AccessControlMetadata accessControlMetadata)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.trino.spi.connector.ConnectorMetadata
applyAggregation, applyJoin, applyLimit, applySample, applyTopN, beginInsert, beginRefreshMaterializedView, finishRefreshMaterializedView, getInfo, getTableLayout, getTableLayouts, getTableSchema, makeCompatiblePartitioning, metadataDelete, redirectTable, resolveIndex, schemaExists, streamTableColumns, supportsMetadataDelete, supportsMissingColumnsOnInsert
-
-
-
-
Field Detail
-
PRESTO_VERSION_NAME
public static final String PRESTO_VERSION_NAME
- See Also:
- Constant Field Values
-
TRINO_CREATED_BY
public static final String TRINO_CREATED_BY
- See Also:
- Constant Field Values
-
PRESTO_QUERY_ID_NAME
public static final String PRESTO_QUERY_ID_NAME
- See Also:
- Constant Field Values
-
BUCKETING_VERSION
public static final String BUCKETING_VERSION
- See Also:
- Constant Field Values
-
TABLE_COMMENT
public static final String TABLE_COMMENT
- See Also:
- Constant Field Values
-
STORAGE_TABLE
public static final String STORAGE_TABLE
- See Also:
- Constant Field Values
-
PRESTO_VIEW_COMMENT
public static final String PRESTO_VIEW_COMMENT
- See Also:
- Constant Field Values
-
PRESTO_VIEW_EXPANDED_TEXT_MARKER
public static final String PRESTO_VIEW_EXPANDED_TEXT_MARKER
- See Also:
- Constant Field Values
-
SKIP_HEADER_COUNT_KEY
public static final String SKIP_HEADER_COUNT_KEY
- See Also:
- Constant Field Values
-
SKIP_FOOTER_COUNT_KEY
public static final String SKIP_FOOTER_COUNT_KEY
- See Also:
- Constant Field Values
-
AVRO_SCHEMA_URL_KEY
public static final String AVRO_SCHEMA_URL_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
HiveMetadata
public HiveMetadata(CatalogName catalogName, SemiTransactionalHiveMetastore metastore, HdfsEnvironment hdfsEnvironment, HivePartitionManager partitionManager, boolean writesToNonManagedTablesEnabled, boolean createsOfNonManagedTablesEnabled, boolean translateHiveViews, boolean hideDeltaLakeTables, TypeManager typeManager, LocationService locationService, io.airlift.json.JsonCodec<PartitionUpdate> partitionUpdateCodec, String trinoVersion, HiveStatisticsProvider hiveStatisticsProvider, HiveRedirectionsProvider hiveRedirectionsProvider, Set<SystemTableProvider> systemTableProviders, HiveMaterializedViewMetadata hiveMaterializedViewMetadata, AccessControlMetadata accessControlMetadata)
-
-
Method Detail
-
getMetastore
public SemiTransactionalHiveMetastore getMetastore()
- Specified by:
getMetastorein interfaceTransactionalMetadata
-
listSchemaNames
public List<String> listSchemaNames(ConnectorSession session)
- Specified by:
listSchemaNamesin interfaceConnectorMetadata
-
getTableHandle
public HiveTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName)
- Specified by:
getTableHandlein interfaceConnectorMetadata
-
getTableHandleForStatisticsCollection
public ConnectorTableHandle getTableHandleForStatisticsCollection(ConnectorSession session, SchemaTableName tableName, Map<String,Object> analyzeProperties)
- Specified by:
getTableHandleForStatisticsCollectionin interfaceConnectorMetadata
-
getSystemTable
public Optional<SystemTable> getSystemTable(ConnectorSession session, SchemaTableName tableName)
- Specified by:
getSystemTablein interfaceConnectorMetadata
-
getTableMetadata
public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
getTableMetadatain interfaceConnectorMetadata
-
getInfo
public Optional<Object> getInfo(ConnectorTableHandle table)
- Specified by:
getInfoin interfaceConnectorMetadata
-
listTables
public List<SchemaTableName> listTables(ConnectorSession session, Optional<String> optionalSchemaName)
- Specified by:
listTablesin interfaceConnectorMetadata
-
getColumnHandles
public Map<String,ColumnHandle> getColumnHandles(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
getColumnHandlesin interfaceConnectorMetadata
-
listTableColumns
public Map<SchemaTableName,List<ColumnMetadata>> listTableColumns(ConnectorSession session, SchemaTablePrefix prefix)
- Specified by:
listTableColumnsin interfaceConnectorMetadata
-
getTableStatistics
public TableStatistics getTableStatistics(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint constraint)
- Specified by:
getTableStatisticsin interfaceConnectorMetadata
-
getColumnMetadata
public ColumnMetadata getColumnMetadata(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnHandle columnHandle)
NOTE: This method does not return column comment- Specified by:
getColumnMetadatain interfaceConnectorMetadata
-
createSchema
public void createSchema(ConnectorSession session, String schemaName, Map<String,Object> properties, TrinoPrincipal owner)
- Specified by:
createSchemain interfaceConnectorMetadata
-
dropSchema
public void dropSchema(ConnectorSession session, String schemaName)
- Specified by:
dropSchemain interfaceConnectorMetadata
-
renameSchema
public void renameSchema(ConnectorSession session, String source, String target)
- Specified by:
renameSchemain interfaceConnectorMetadata
-
setSchemaAuthorization
public void setSchemaAuthorization(ConnectorSession session, String source, TrinoPrincipal principal)
- Specified by:
setSchemaAuthorizationin interfaceConnectorMetadata
-
createTable
public void createTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, boolean ignoreExisting)
- Specified by:
createTablein interfaceConnectorMetadata
-
addColumn
public void addColumn(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnMetadata column)
- Specified by:
addColumnin interfaceConnectorMetadata
-
renameColumn
public void renameColumn(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnHandle source, String target)
- Specified by:
renameColumnin interfaceConnectorMetadata
-
dropColumn
public void dropColumn(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnHandle column)
- Specified by:
dropColumnin interfaceConnectorMetadata
-
setTableAuthorization
public void setTableAuthorization(ConnectorSession session, SchemaTableName table, TrinoPrincipal principal)
- Specified by:
setTableAuthorizationin interfaceConnectorMetadata
-
renameTable
public void renameTable(ConnectorSession session, ConnectorTableHandle tableHandle, SchemaTableName newTableName)
- Specified by:
renameTablein interfaceConnectorMetadata
-
setTableComment
public void setTableComment(ConnectorSession session, ConnectorTableHandle tableHandle, Optional<String> comment)
- Specified by:
setTableCommentin interfaceConnectorMetadata
-
setColumnComment
public void setColumnComment(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnHandle column, Optional<String> comment)
- Specified by:
setColumnCommentin interfaceConnectorMetadata
-
dropTable
public void dropTable(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
dropTablein interfaceConnectorMetadata
-
beginStatisticsCollection
public ConnectorTableHandle beginStatisticsCollection(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
beginStatisticsCollectionin interfaceConnectorMetadata
-
finishStatisticsCollection
public void finishStatisticsCollection(ConnectorSession session, ConnectorTableHandle tableHandle, Collection<ComputedStatistics> computedStatistics)
- Specified by:
finishStatisticsCollectionin interfaceConnectorMetadata
-
beginCreateTable
public HiveOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional<ConnectorNewTableLayout> layout)
- Specified by:
beginCreateTablein interfaceConnectorMetadata
-
finishCreateTable
public Optional<ConnectorOutputMetadata> finishCreateTable(ConnectorSession session, ConnectorOutputTableHandle tableHandle, Collection<io.airlift.slice.Slice> fragments, Collection<ComputedStatistics> computedStatistics)
- Specified by:
finishCreateTablein interfaceConnectorMetadata
-
beginUpdate
public ConnectorTableHandle beginUpdate(ConnectorSession session, ConnectorTableHandle tableHandle, List<ColumnHandle> updatedColumns)
- Specified by:
beginUpdatein interfaceConnectorMetadata
-
finishUpdate
public void finishUpdate(ConnectorSession session, ConnectorTableHandle tableHandle, Collection<io.airlift.slice.Slice> fragments)
- Specified by:
finishUpdatein interfaceConnectorMetadata
-
beginInsert
public HiveInsertTableHandle beginInsert(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
beginInsertin interfaceConnectorMetadata
-
finishInsert
public Optional<ConnectorOutputMetadata> finishInsert(ConnectorSession session, ConnectorInsertTableHandle insertHandle, Collection<io.airlift.slice.Slice> fragments, Collection<ComputedStatistics> computedStatistics)
- Specified by:
finishInsertin interfaceConnectorMetadata
-
createView
public void createView(ConnectorSession session, SchemaTableName viewName, ConnectorViewDefinition definition, boolean replace)
- Specified by:
createViewin interfaceConnectorMetadata
-
renameView
public void renameView(ConnectorSession session, SchemaTableName source, SchemaTableName target)
- Specified by:
renameViewin interfaceConnectorMetadata
-
setViewAuthorization
public void setViewAuthorization(ConnectorSession session, SchemaTableName viewName, TrinoPrincipal principal)
- Specified by:
setViewAuthorizationin interfaceConnectorMetadata
-
dropView
public void dropView(ConnectorSession session, SchemaTableName viewName)
- Specified by:
dropViewin interfaceConnectorMetadata
-
listViews
public List<SchemaTableName> listViews(ConnectorSession session, Optional<String> optionalSchemaName)
- Specified by:
listViewsin interfaceConnectorMetadata
-
getSchemaProperties
public Map<String,Object> getSchemaProperties(ConnectorSession session, CatalogSchemaName schemaName)
- Specified by:
getSchemaPropertiesin interfaceConnectorMetadata
-
getSchemaOwner
public Optional<TrinoPrincipal> getSchemaOwner(ConnectorSession session, CatalogSchemaName schemaName)
- Specified by:
getSchemaOwnerin interfaceConnectorMetadata
-
getViews
public Map<SchemaTableName,ConnectorViewDefinition> getViews(ConnectorSession session, Optional<String> schemaName)
- Specified by:
getViewsin interfaceConnectorMetadata
-
getView
public Optional<ConnectorViewDefinition> getView(ConnectorSession session, SchemaTableName viewName)
- Specified by:
getViewin interfaceConnectorMetadata
-
beginDelete
public ConnectorTableHandle beginDelete(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
beginDeletein interfaceConnectorMetadata
-
finishDelete
public void finishDelete(ConnectorSession session, ConnectorTableHandle tableHandle, Collection<io.airlift.slice.Slice> fragments)
- Specified by:
finishDeletein interfaceConnectorMetadata
-
getDeleteRowIdColumnHandle
public ColumnHandle getDeleteRowIdColumnHandle(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
getDeleteRowIdColumnHandlein interfaceConnectorMetadata
-
getUpdateRowIdColumnHandle
public ColumnHandle getUpdateRowIdColumnHandle(ConnectorSession session, ConnectorTableHandle tableHandle, List<ColumnHandle> updatedColumns)
- Specified by:
getUpdateRowIdColumnHandlein interfaceConnectorMetadata
-
applyDelete
public Optional<ConnectorTableHandle> applyDelete(ConnectorSession session, ConnectorTableHandle handle)
- Specified by:
applyDeletein interfaceConnectorMetadata
-
executeDelete
public OptionalLong executeDelete(ConnectorSession session, ConnectorTableHandle deleteHandle)
- Specified by:
executeDeletein interfaceConnectorMetadata
-
usesLegacyTableLayouts
public boolean usesLegacyTableLayouts()
- Specified by:
usesLegacyTableLayoutsin interfaceConnectorMetadata
-
getTableProperties
public ConnectorTableProperties getTableProperties(ConnectorSession session, ConnectorTableHandle table)
- Specified by:
getTablePropertiesin interfaceConnectorMetadata
-
applyFilter
public Optional<ConstraintApplicationResult<ConnectorTableHandle>> applyFilter(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint constraint)
- Specified by:
applyFilterin interfaceConnectorMetadata
-
validateScan
public void validateScan(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
validateScanin interfaceConnectorMetadata
-
applyProjection
public Optional<ProjectionApplicationResult<ConnectorTableHandle>> applyProjection(ConnectorSession session, ConnectorTableHandle handle, List<ConnectorExpression> projections, Map<String,ColumnHandle> assignments)
- Specified by:
applyProjectionin interfaceConnectorMetadata
-
applyTableScanRedirect
public Optional<TableScanRedirectApplicationResult> applyTableScanRedirect(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
applyTableScanRedirectin interfaceConnectorMetadata
-
getCommonPartitioningHandle
public Optional<ConnectorPartitioningHandle> getCommonPartitioningHandle(ConnectorSession session, ConnectorPartitioningHandle left, ConnectorPartitioningHandle right)
- Specified by:
getCommonPartitioningHandlein interfaceConnectorMetadata
-
makeCompatiblePartitioning
public ConnectorTableHandle makeCompatiblePartitioning(ConnectorSession session, ConnectorTableHandle tableHandle, ConnectorPartitioningHandle partitioningHandle)
- Specified by:
makeCompatiblePartitioningin interfaceConnectorMetadata
-
getInsertLayout
public Optional<ConnectorNewTableLayout> getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle)
- Specified by:
getInsertLayoutin interfaceConnectorMetadata
-
getNewTableLayout
public Optional<ConnectorNewTableLayout> getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata)
- Specified by:
getNewTableLayoutin interfaceConnectorMetadata
-
getStatisticsCollectionMetadataForWrite
public TableStatisticsMetadata getStatisticsCollectionMetadataForWrite(ConnectorSession session, ConnectorTableMetadata tableMetadata)
- Specified by:
getStatisticsCollectionMetadataForWritein interfaceConnectorMetadata
-
getStatisticsCollectionMetadata
public TableStatisticsMetadata getStatisticsCollectionMetadata(ConnectorSession session, ConnectorTableMetadata tableMetadata)
- Specified by:
getStatisticsCollectionMetadatain interfaceConnectorMetadata
-
createRole
public void createRole(ConnectorSession session, String role, Optional<TrinoPrincipal> grantor)
- Specified by:
createRolein interfaceConnectorMetadata
-
dropRole
public void dropRole(ConnectorSession session, String role)
- Specified by:
dropRolein interfaceConnectorMetadata
-
listRoles
public Set<String> listRoles(ConnectorSession session)
- Specified by:
listRolesin interfaceConnectorMetadata
-
listAllRoleGrants
public Set<RoleGrant> listAllRoleGrants(ConnectorSession session, Optional<Set<String>> roles, Optional<Set<String>> grantees, OptionalLong limit)
- Specified by:
listAllRoleGrantsin interfaceConnectorMetadata
-
listRoleGrants
public Set<RoleGrant> listRoleGrants(ConnectorSession session, TrinoPrincipal principal)
- Specified by:
listRoleGrantsin interfaceConnectorMetadata
-
grantRoles
public void grantRoles(ConnectorSession session, Set<String> roles, Set<TrinoPrincipal> grantees, boolean adminOption, Optional<TrinoPrincipal> grantor)
- Specified by:
grantRolesin interfaceConnectorMetadata
-
revokeRoles
public void revokeRoles(ConnectorSession session, Set<String> roles, Set<TrinoPrincipal> grantees, boolean adminOption, Optional<TrinoPrincipal> grantor)
- Specified by:
revokeRolesin interfaceConnectorMetadata
-
listApplicableRoles
public Set<RoleGrant> listApplicableRoles(ConnectorSession session, TrinoPrincipal principal)
- Specified by:
listApplicableRolesin interfaceConnectorMetadata
-
listEnabledRoles
public Set<String> listEnabledRoles(ConnectorSession session)
- Specified by:
listEnabledRolesin interfaceConnectorMetadata
-
grantSchemaPrivileges
public void grantSchemaPrivileges(ConnectorSession session, String schemaName, Set<Privilege> privileges, TrinoPrincipal grantee, boolean grantOption)
- Specified by:
grantSchemaPrivilegesin interfaceConnectorMetadata
-
revokeSchemaPrivileges
public void revokeSchemaPrivileges(ConnectorSession session, String schemaName, Set<Privilege> privileges, TrinoPrincipal grantee, boolean grantOption)
- Specified by:
revokeSchemaPrivilegesin interfaceConnectorMetadata
-
grantTablePrivileges
public void grantTablePrivileges(ConnectorSession session, SchemaTableName schemaTableName, Set<Privilege> privileges, TrinoPrincipal grantee, boolean grantOption)
- Specified by:
grantTablePrivilegesin interfaceConnectorMetadata
-
revokeTablePrivileges
public void revokeTablePrivileges(ConnectorSession session, SchemaTableName schemaTableName, Set<Privilege> privileges, TrinoPrincipal grantee, boolean grantOption)
- Specified by:
revokeTablePrivilegesin interfaceConnectorMetadata
-
listTablePrivileges
public List<GrantInfo> listTablePrivileges(ConnectorSession session, SchemaTablePrefix schemaTablePrefix)
- Specified by:
listTablePrivilegesin interfaceConnectorMetadata
-
rollback
public void rollback()
- Specified by:
rollbackin interfaceTransactionalMetadata
-
commit
public void commit()
- Specified by:
commitin interfaceTransactionalMetadata
-
beginQuery
public void beginQuery(ConnectorSession session)
- Specified by:
beginQueryin interfaceConnectorMetadata
-
cleanupQuery
public void cleanupQuery(ConnectorSession session)
- Specified by:
cleanupQueryin interfaceConnectorMetadata
-
createMaterializedView
public void createMaterializedView(ConnectorSession session, SchemaTableName viewName, ConnectorMaterializedViewDefinition definition, boolean replace, boolean ignoreExisting)
- Specified by:
createMaterializedViewin interfaceConnectorMetadata
-
dropMaterializedView
public void dropMaterializedView(ConnectorSession session, SchemaTableName viewName)
- Specified by:
dropMaterializedViewin interfaceConnectorMetadata
-
listMaterializedViews
public List<SchemaTableName> listMaterializedViews(ConnectorSession session, Optional<String> schemaName)
- Specified by:
listMaterializedViewsin interfaceConnectorMetadata
-
getMaterializedViews
public Map<SchemaTableName,ConnectorMaterializedViewDefinition> getMaterializedViews(ConnectorSession session, Optional<String> schemaName)
- Specified by:
getMaterializedViewsin interfaceConnectorMetadata
-
getMaterializedView
public Optional<ConnectorMaterializedViewDefinition> getMaterializedView(ConnectorSession session, SchemaTableName viewName)
- Specified by:
getMaterializedViewin interfaceConnectorMetadata
-
getMaterializedViewFreshness
public MaterializedViewFreshness getMaterializedViewFreshness(ConnectorSession session, SchemaTableName name)
- Specified by:
getMaterializedViewFreshnessin interfaceConnectorMetadata
-
delegateMaterializedViewRefreshToConnector
public boolean delegateMaterializedViewRefreshToConnector(ConnectorSession session, SchemaTableName viewName)
- Specified by:
delegateMaterializedViewRefreshToConnectorin interfaceConnectorMetadata
-
refreshMaterializedView
public CompletableFuture<?> refreshMaterializedView(ConnectorSession session, SchemaTableName name)
- Specified by:
refreshMaterializedViewin interfaceConnectorMetadata
-
-