public class HiveMetadata extends Object implements TransactionalMetadata
| Modifier and Type | Field and Description |
|---|---|
static String |
PRESTO_VERSION_NAME |
static String |
REFERENCED_MATERIALIZED_VIEWS |
static Set<String> |
RESERVED_ROLES |
static String |
TABLE_COMMENT |
| Constructor and Description |
|---|
HiveMetadata(com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore metastore,
com.facebook.presto.hive.HdfsEnvironment hdfsEnvironment,
HivePartitionManager partitionManager,
org.joda.time.DateTimeZone timeZone,
boolean allowCorruptWritesForTesting,
boolean writesToNonManagedTablesEnabled,
boolean createsOfNonManagedTablesEnabled,
int maxPartitionBatchSize,
com.facebook.presto.common.type.TypeManager typeManager,
LocationService locationService,
com.facebook.presto.spi.function.StandardFunctionResolution functionResolution,
com.facebook.presto.spi.relation.RowExpressionService rowExpressionService,
com.facebook.presto.spi.plan.FilterStatsCalculatorService filterStatsCalculatorService,
TableParameterCodec tableParameterCodec,
com.facebook.airlift.json.JsonCodec<PartitionUpdate> partitionUpdateCodec,
com.facebook.airlift.json.smile.SmileCodec<PartitionUpdate> partitionUpdateSmileCodec,
com.facebook.presto.hive.TypeTranslator typeTranslator,
String prestoVersion,
HiveStatisticsProvider hiveStatisticsProvider,
StagingFileCommitter stagingFileCommitter,
ZeroRowFileCreator zeroRowFileCreator,
PartitionObjectBuilder partitionObjectBuilder,
HiveEncryptionInformationProvider encryptionInformationProvider,
HivePartitionStats hivePartitionStats,
HiveFileRenamer hiveFileRenamer) |
| Modifier and Type | Method and Description |
|---|---|
void |
addColumn(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnMetadata column) |
HiveOutputTableHandle |
beginCreateTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata,
Optional<com.facebook.presto.spi.ConnectorNewTableLayout> layout) |
com.facebook.presto.spi.ConnectorTableHandle |
beginDelete(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
HiveInsertTableHandle |
beginInsert(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
HiveInsertTableHandle |
beginRefreshMaterializedView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
com.facebook.presto.spi.ConnectorTableHandle |
beginStatisticsCollection(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
com.facebook.presto.spi.connector.ConnectorCommitHandle |
commit() |
CompletableFuture<Void> |
commitPageSinkAsync(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorInsertTableHandle tableHandle,
Collection<io.airlift.slice.Slice> fragments) |
CompletableFuture<Void> |
commitPageSinkAsync(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorOutputTableHandle tableHandle,
Collection<io.airlift.slice.Slice> fragments) |
void |
createMaterializedView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata viewMetadata,
com.facebook.presto.spi.MaterializedViewDefinition viewDefinition,
boolean ignoreExisting) |
void |
createRole(com.facebook.presto.spi.ConnectorSession session,
String role,
Optional<com.facebook.presto.spi.security.PrestoPrincipal> grantor) |
void |
createSchema(com.facebook.presto.spi.ConnectorSession session,
String schemaName,
Map<String,Object> properties) |
void |
createTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata,
boolean ignoreExisting) |
com.facebook.presto.spi.ConnectorTableHandle |
createTemporaryTable(com.facebook.presto.spi.ConnectorSession session,
List<com.facebook.presto.spi.ColumnMetadata> columns,
Optional<com.facebook.presto.spi.connector.ConnectorPartitioningMetadata> partitioningMetadata) |
void |
createView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata viewMetadata,
String viewData,
boolean replace) |
void |
doMetadataUpdateCleanup(com.facebook.presto.spi.QueryId queryId) |
void |
dropColumn(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnHandle column) |
void |
dropMaterializedView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName viewName) |
void |
dropRole(com.facebook.presto.spi.ConnectorSession session,
String role) |
void |
dropSchema(com.facebook.presto.spi.ConnectorSession session,
String schemaName) |
void |
dropTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
void |
dropView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName viewName) |
Optional<com.facebook.presto.spi.connector.ConnectorOutputMetadata> |
finishCreateTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorOutputTableHandle tableHandle,
Collection<io.airlift.slice.Slice> fragments,
Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics) |
Optional<com.facebook.presto.spi.connector.ConnectorOutputMetadata> |
finishInsert(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorInsertTableHandle insertHandle,
Collection<io.airlift.slice.Slice> fragments,
Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics) |
Optional<com.facebook.presto.spi.connector.ConnectorOutputMetadata> |
finishRefreshMaterializedView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorInsertTableHandle insertHandle,
Collection<io.airlift.slice.Slice> fragments,
Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics) |
void |
finishStatisticsCollection(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics) |
com.facebook.presto.spi.ConnectorTableLayoutHandle |
getAlternativeLayoutHandle(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableLayoutHandle tableLayoutHandle,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle partitioningHandle) |
Map<String,com.facebook.presto.spi.ColumnHandle> |
getColumnHandles(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
com.facebook.presto.spi.ColumnMetadata |
getColumnMetadata(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnHandle columnHandle)
NOTE: This method does not return column comment
|
Optional<com.facebook.presto.spi.connector.ConnectorPartitioningHandle> |
getCommonPartitioningHandle(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle left,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle right) |
Optional<Object> |
getInfo(com.facebook.presto.spi.ConnectorTableLayoutHandle layoutHandle) |
Optional<com.facebook.presto.spi.ConnectorNewTableLayout> |
getInsertLayout(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
Optional<com.facebook.presto.spi.MaterializedViewDefinition> |
getMaterializedView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName viewName) |
com.facebook.presto.spi.MaterializedViewStatus |
getMaterializedViewStatus(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName materializedViewName,
com.facebook.presto.common.predicate.TupleDomain<String> baseQueryDomain) |
List<com.facebook.presto.spi.ConnectorMetadataUpdateHandle> |
getMetadataUpdateResults(List<com.facebook.presto.spi.ConnectorMetadataUpdateHandle> metadataUpdateRequests,
com.facebook.presto.spi.QueryId queryId) |
com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore |
getMetastore() |
Optional<com.facebook.presto.spi.ConnectorNewTableLayout> |
getNewTableLayout(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata) |
com.facebook.presto.spi.connector.ConnectorPartitioningHandle |
getPartitioningHandleForExchange(com.facebook.presto.spi.ConnectorSession session,
int partitionCount,
List<com.facebook.presto.common.type.Type> partitionTypes) |
List<PartitionUpdate> |
getPartitionUpdates(com.facebook.presto.spi.ConnectorSession session,
Collection<io.airlift.slice.Slice> fragments) |
Optional<com.facebook.presto.spi.ConnectorNewTableLayout> |
getPreferredShuffleLayoutForInsert(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
Optional<com.facebook.presto.spi.ConnectorNewTableLayout> |
getPreferredShuffleLayoutForNewTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata) |
Optional<List<com.facebook.presto.spi.SchemaTableName>> |
getReferencedMaterializedViews(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName tableName) |
static Optional<com.facebook.presto.spi.SchemaTableName> |
getSourceTableNameFromSystemTable(com.facebook.presto.spi.SchemaTableName tableName) |
com.facebook.presto.spi.statistics.TableStatisticsMetadata |
getStatisticsCollectionMetadata(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata) |
com.facebook.presto.spi.statistics.TableStatisticsMetadata |
getStatisticsCollectionMetadataForWrite(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata) |
Optional<com.facebook.presto.spi.SystemTable> |
getSystemTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName tableName) |
protected Optional<? extends TableEncryptionProperties> |
getTableEncryptionPropertiesFromHiveProperties(Map<String,String> parameters,
com.facebook.presto.hive.HiveStorageFormat storageFormat) |
protected Optional<TableEncryptionProperties> |
getTableEncryptionPropertiesFromTableProperties(com.facebook.presto.spi.ConnectorTableMetadata tableMetadata,
com.facebook.presto.hive.HiveStorageFormat hiveStorageFormat,
List<String> partitionedBy) |
com.facebook.presto.hive.HiveTableHandle |
getTableHandle(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName tableName) |
com.facebook.presto.spi.ConnectorTableHandle |
getTableHandleForStatisticsCollection(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName tableName,
Map<String,Object> analyzeProperties) |
com.facebook.presto.spi.ConnectorTableLayout |
getTableLayout(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableLayoutHandle layoutHandle) |
com.facebook.presto.spi.TableLayoutFilterCoverage |
getTableLayoutFilterCoverage(com.facebook.presto.spi.ConnectorTableLayoutHandle connectorTableLayoutHandle,
Set<String> relevantPartitionColumns) |
List<com.facebook.presto.spi.ConnectorTableLayoutResult> |
getTableLayouts(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.Constraint<com.facebook.presto.spi.ColumnHandle> constraint,
Optional<Set<com.facebook.presto.spi.ColumnHandle>> desiredColumns) |
com.facebook.presto.spi.ConnectorTableMetadata |
getTableMetadata(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
com.facebook.presto.spi.statistics.TableStatistics |
getTableStatistics(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
Optional<com.facebook.presto.spi.ConnectorTableLayoutHandle> tableLayoutHandle,
List<com.facebook.presto.spi.ColumnHandle> columnHandles,
com.facebook.presto.spi.Constraint<com.facebook.presto.spi.ColumnHandle> constraint) |
com.facebook.presto.spi.ColumnHandle |
getUpdateRowIdColumnHandle(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
Map<com.facebook.presto.spi.SchemaTableName,com.facebook.presto.spi.ConnectorViewDefinition> |
getViews(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTablePrefix prefix) |
void |
grantRoles(com.facebook.presto.spi.ConnectorSession session,
Set<String> roles,
Set<com.facebook.presto.spi.security.PrestoPrincipal> grantees,
boolean withAdminOption,
Optional<com.facebook.presto.spi.security.PrestoPrincipal> grantor) |
void |
grantTablePrivileges(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName schemaTableName,
Set<com.facebook.presto.spi.security.Privilege> privileges,
com.facebook.presto.spi.security.PrestoPrincipal grantee,
boolean grantOption) |
boolean |
isLegacyGetLayoutSupported(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle) |
boolean |
isRefinedPartitioningOver(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle left,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle right) |
Set<com.facebook.presto.spi.security.RoleGrant> |
listApplicableRoles(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.security.PrestoPrincipal principal) |
Set<String> |
listEnabledRoles(com.facebook.presto.spi.ConnectorSession session) |
Set<com.facebook.presto.spi.security.RoleGrant> |
listRoleGrants(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.security.PrestoPrincipal principal) |
Set<String> |
listRoles(com.facebook.presto.spi.ConnectorSession session) |
List<String> |
listSchemaNames(com.facebook.presto.spi.ConnectorSession session) |
Map<com.facebook.presto.spi.SchemaTableName,List<com.facebook.presto.spi.ColumnMetadata>> |
listTableColumns(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTablePrefix prefix) |
List<com.facebook.presto.spi.security.GrantInfo> |
listTablePrivileges(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTablePrefix schemaTablePrefix) |
List<com.facebook.presto.spi.SchemaTableName> |
listTables(com.facebook.presto.spi.ConnectorSession session,
String schemaNameOrNull) |
List<com.facebook.presto.spi.SchemaTableName> |
listViews(com.facebook.presto.spi.ConnectorSession session,
String schemaNameOrNull) |
OptionalLong |
metadataDelete(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ConnectorTableLayoutHandle tableLayoutHandle) |
void |
renameColumn(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnHandle source,
String target) |
void |
renameSchema(com.facebook.presto.spi.ConnectorSession session,
String source,
String target) |
void |
renameTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.SchemaTableName newTableName) |
void |
revokeRoles(com.facebook.presto.spi.ConnectorSession session,
Set<String> roles,
Set<com.facebook.presto.spi.security.PrestoPrincipal> grantees,
boolean adminOptionFor,
Optional<com.facebook.presto.spi.security.PrestoPrincipal> grantor) |
void |
revokeTablePrivileges(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName schemaTableName,
Set<com.facebook.presto.spi.security.Privilege> privileges,
com.facebook.presto.spi.security.PrestoPrincipal grantee,
boolean grantOption) |
void |
rollback() |
static boolean |
shouldCreateFilesForMissingBuckets(com.facebook.presto.hive.metastore.Table table,
com.facebook.presto.spi.ConnectorSession session) |
boolean |
supportsMetadataDelete(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
Optional<com.facebook.presto.spi.ConnectorTableLayoutHandle> tableLayoutHandle) |
com.facebook.presto.common.predicate.TupleDomain<com.facebook.presto.spi.ColumnHandle> |
toExplainIOConstraints(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.common.predicate.TupleDomain<com.facebook.presto.spi.ColumnHandle> constraints)
Returns a TupleDomain of constraints that is suitable for Explain (Type IO)
|
public static final String PRESTO_VERSION_NAME
public static final String TABLE_COMMENT
public static final String REFERENCED_MATERIALIZED_VIEWS
public HiveMetadata(com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore metastore,
com.facebook.presto.hive.HdfsEnvironment hdfsEnvironment,
HivePartitionManager partitionManager,
org.joda.time.DateTimeZone timeZone,
boolean allowCorruptWritesForTesting,
boolean writesToNonManagedTablesEnabled,
boolean createsOfNonManagedTablesEnabled,
int maxPartitionBatchSize,
com.facebook.presto.common.type.TypeManager typeManager,
LocationService locationService,
com.facebook.presto.spi.function.StandardFunctionResolution functionResolution,
com.facebook.presto.spi.relation.RowExpressionService rowExpressionService,
com.facebook.presto.spi.plan.FilterStatsCalculatorService filterStatsCalculatorService,
TableParameterCodec tableParameterCodec,
com.facebook.airlift.json.JsonCodec<PartitionUpdate> partitionUpdateCodec,
com.facebook.airlift.json.smile.SmileCodec<PartitionUpdate> partitionUpdateSmileCodec,
com.facebook.presto.hive.TypeTranslator typeTranslator,
String prestoVersion,
HiveStatisticsProvider hiveStatisticsProvider,
StagingFileCommitter stagingFileCommitter,
ZeroRowFileCreator zeroRowFileCreator,
PartitionObjectBuilder partitionObjectBuilder,
HiveEncryptionInformationProvider encryptionInformationProvider,
HivePartitionStats hivePartitionStats,
HiveFileRenamer hiveFileRenamer)
public com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore getMetastore()
getMetastore in interface TransactionalMetadatapublic List<String> listSchemaNames(com.facebook.presto.spi.ConnectorSession session)
listSchemaNames in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.hive.HiveTableHandle getTableHandle(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName tableName)
getTableHandle in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ConnectorTableHandle getTableHandleForStatisticsCollection(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName tableName,
Map<String,Object> analyzeProperties)
getTableHandleForStatisticsCollection in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.SystemTable> getSystemTable(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.SchemaTableName tableName)
getSystemTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ConnectorTableMetadata getTableMetadata(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle)
getTableMetadata in interface com.facebook.presto.spi.connector.ConnectorMetadataprotected Optional<? extends TableEncryptionProperties> getTableEncryptionPropertiesFromHiveProperties(Map<String,String> parameters, com.facebook.presto.hive.HiveStorageFormat storageFormat)
public Optional<Object> getInfo(com.facebook.presto.spi.ConnectorTableLayoutHandle layoutHandle)
getInfo in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic List<com.facebook.presto.spi.SchemaTableName> listTables(com.facebook.presto.spi.ConnectorSession session, String schemaNameOrNull)
listTables in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Map<String,com.facebook.presto.spi.ColumnHandle> getColumnHandles(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableHandle tableHandle)
getColumnHandles in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Map<com.facebook.presto.spi.SchemaTableName,List<com.facebook.presto.spi.ColumnMetadata>> listTableColumns(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.SchemaTablePrefix prefix)
listTableColumns in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.statistics.TableStatistics getTableStatistics(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
Optional<com.facebook.presto.spi.ConnectorTableLayoutHandle> tableLayoutHandle,
List<com.facebook.presto.spi.ColumnHandle> columnHandles,
com.facebook.presto.spi.Constraint<com.facebook.presto.spi.ColumnHandle> constraint)
getTableStatistics in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ColumnMetadata getColumnMetadata(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnHandle columnHandle)
getColumnMetadata in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.common.predicate.TupleDomain<com.facebook.presto.spi.ColumnHandle> toExplainIOConstraints(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.common.predicate.TupleDomain<com.facebook.presto.spi.ColumnHandle> constraints)
Only Hive partition columns that are used in IO planning.
toExplainIOConstraints in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void createSchema(com.facebook.presto.spi.ConnectorSession session,
String schemaName,
Map<String,Object> properties)
createSchema in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void dropSchema(com.facebook.presto.spi.ConnectorSession session,
String schemaName)
dropSchema in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void renameSchema(com.facebook.presto.spi.ConnectorSession session,
String source,
String target)
renameSchema in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void createTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata,
boolean ignoreExisting)
createTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ConnectorTableHandle createTemporaryTable(com.facebook.presto.spi.ConnectorSession session,
List<com.facebook.presto.spi.ColumnMetadata> columns,
Optional<com.facebook.presto.spi.connector.ConnectorPartitioningMetadata> partitioningMetadata)
createTemporaryTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void addColumn(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnMetadata column)
addColumn in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void renameColumn(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnHandle source,
String target)
renameColumn in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void dropColumn(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.ColumnHandle column)
dropColumn in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void renameTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
com.facebook.presto.spi.SchemaTableName newTableName)
renameTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void dropTable(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle)
dropTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ConnectorTableHandle beginStatisticsCollection(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle)
beginStatisticsCollection in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void finishStatisticsCollection(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics)
finishStatisticsCollection in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic HiveOutputTableHandle beginCreateTable(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableMetadata tableMetadata, Optional<com.facebook.presto.spi.ConnectorNewTableLayout> layout)
beginCreateTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.connector.ConnectorOutputMetadata> finishCreateTable(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorOutputTableHandle tableHandle, Collection<io.airlift.slice.Slice> fragments, Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics)
finishCreateTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic static boolean shouldCreateFilesForMissingBuckets(com.facebook.presto.hive.metastore.Table table,
com.facebook.presto.spi.ConnectorSession session)
public HiveInsertTableHandle beginInsert(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableHandle tableHandle)
beginInsert in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.connector.ConnectorOutputMetadata> finishInsert(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorInsertTableHandle insertHandle, Collection<io.airlift.slice.Slice> fragments, Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics)
finishInsert in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void createView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata viewMetadata,
String viewData,
boolean replace)
createView in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void dropView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName viewName)
dropView in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic List<com.facebook.presto.spi.SchemaTableName> listViews(com.facebook.presto.spi.ConnectorSession session, String schemaNameOrNull)
listViews in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Map<com.facebook.presto.spi.SchemaTableName,com.facebook.presto.spi.ConnectorViewDefinition> getViews(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.SchemaTablePrefix prefix)
getViews in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.MaterializedViewDefinition> getMaterializedView(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.SchemaTableName viewName)
getMaterializedView in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.MaterializedViewStatus getMaterializedViewStatus(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName materializedViewName,
com.facebook.presto.common.predicate.TupleDomain<String> baseQueryDomain)
getMaterializedViewStatus in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void createMaterializedView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata viewMetadata,
com.facebook.presto.spi.MaterializedViewDefinition viewDefinition,
boolean ignoreExisting)
createMaterializedView in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void dropMaterializedView(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName viewName)
dropMaterializedView in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic HiveInsertTableHandle beginRefreshMaterializedView(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableHandle tableHandle)
beginRefreshMaterializedView in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.connector.ConnectorOutputMetadata> finishRefreshMaterializedView(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorInsertTableHandle insertHandle, Collection<io.airlift.slice.Slice> fragments, Collection<com.facebook.presto.spi.statistics.ComputedStatistics> computedStatistics)
finishRefreshMaterializedView in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<List<com.facebook.presto.spi.SchemaTableName>> getReferencedMaterializedViews(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.SchemaTableName tableName)
getReferencedMaterializedViews in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ConnectorTableHandle beginDelete(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle)
beginDelete in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ColumnHandle getUpdateRowIdColumnHandle(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle)
getUpdateRowIdColumnHandle in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic OptionalLong metadataDelete(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableHandle tableHandle, com.facebook.presto.spi.ConnectorTableLayoutHandle tableLayoutHandle)
metadataDelete in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic boolean supportsMetadataDelete(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle,
Optional<com.facebook.presto.spi.ConnectorTableLayoutHandle> tableLayoutHandle)
supportsMetadataDelete in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic boolean isLegacyGetLayoutSupported(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableHandle tableHandle)
isLegacyGetLayoutSupported in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic List<com.facebook.presto.spi.ConnectorTableLayoutResult> getTableLayouts(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableHandle tableHandle, com.facebook.presto.spi.Constraint<com.facebook.presto.spi.ColumnHandle> constraint, Optional<Set<com.facebook.presto.spi.ColumnHandle>> desiredColumns)
getTableLayouts in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ConnectorTableLayout getTableLayout(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableLayoutHandle layoutHandle)
getTableLayout in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.connector.ConnectorPartitioningHandle> getCommonPartitioningHandle(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.connector.ConnectorPartitioningHandle left, com.facebook.presto.spi.connector.ConnectorPartitioningHandle right)
getCommonPartitioningHandle in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic boolean isRefinedPartitioningOver(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle left,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle right)
isRefinedPartitioningOver in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.ConnectorTableLayoutHandle getAlternativeLayoutHandle(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableLayoutHandle tableLayoutHandle,
com.facebook.presto.spi.connector.ConnectorPartitioningHandle partitioningHandle)
getAlternativeLayoutHandle in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.connector.ConnectorPartitioningHandle getPartitioningHandleForExchange(com.facebook.presto.spi.ConnectorSession session,
int partitionCount,
List<com.facebook.presto.common.type.Type> partitionTypes)
getPartitioningHandleForExchange in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.ConnectorNewTableLayout> getInsertLayout(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableHandle tableHandle)
getInsertLayout in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.ConnectorNewTableLayout> getPreferredShuffleLayoutForInsert(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableHandle tableHandle)
getPreferredShuffleLayoutForInsert in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.ConnectorNewTableLayout> getNewTableLayout(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableMetadata tableMetadata)
getNewTableLayout in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Optional<com.facebook.presto.spi.ConnectorNewTableLayout> getPreferredShuffleLayoutForNewTable(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorTableMetadata tableMetadata)
getPreferredShuffleLayoutForNewTable in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.statistics.TableStatisticsMetadata getStatisticsCollectionMetadataForWrite(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata)
getStatisticsCollectionMetadataForWrite in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic com.facebook.presto.spi.statistics.TableStatisticsMetadata getStatisticsCollectionMetadata(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.ConnectorTableMetadata tableMetadata)
getStatisticsCollectionMetadata in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void createRole(com.facebook.presto.spi.ConnectorSession session,
String role,
Optional<com.facebook.presto.spi.security.PrestoPrincipal> grantor)
createRole in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void dropRole(com.facebook.presto.spi.ConnectorSession session,
String role)
dropRole in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Set<String> listRoles(com.facebook.presto.spi.ConnectorSession session)
listRoles in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Set<com.facebook.presto.spi.security.RoleGrant> listRoleGrants(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.security.PrestoPrincipal principal)
listRoleGrants in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void grantRoles(com.facebook.presto.spi.ConnectorSession session,
Set<String> roles,
Set<com.facebook.presto.spi.security.PrestoPrincipal> grantees,
boolean withAdminOption,
Optional<com.facebook.presto.spi.security.PrestoPrincipal> grantor)
grantRoles in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void revokeRoles(com.facebook.presto.spi.ConnectorSession session,
Set<String> roles,
Set<com.facebook.presto.spi.security.PrestoPrincipal> grantees,
boolean adminOptionFor,
Optional<com.facebook.presto.spi.security.PrestoPrincipal> grantor)
revokeRoles in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Set<com.facebook.presto.spi.security.RoleGrant> listApplicableRoles(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.security.PrestoPrincipal principal)
listApplicableRoles in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic Set<String> listEnabledRoles(com.facebook.presto.spi.ConnectorSession session)
listEnabledRoles in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void grantTablePrivileges(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName schemaTableName,
Set<com.facebook.presto.spi.security.Privilege> privileges,
com.facebook.presto.spi.security.PrestoPrincipal grantee,
boolean grantOption)
grantTablePrivileges in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void revokeTablePrivileges(com.facebook.presto.spi.ConnectorSession session,
com.facebook.presto.spi.SchemaTableName schemaTableName,
Set<com.facebook.presto.spi.security.Privilege> privileges,
com.facebook.presto.spi.security.PrestoPrincipal grantee,
boolean grantOption)
revokeTablePrivileges in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic List<com.facebook.presto.spi.security.GrantInfo> listTablePrivileges(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.SchemaTablePrefix schemaTablePrefix)
listTablePrivileges in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic CompletableFuture<Void> commitPageSinkAsync(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorOutputTableHandle tableHandle, Collection<io.airlift.slice.Slice> fragments)
commitPageSinkAsync in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic CompletableFuture<Void> commitPageSinkAsync(com.facebook.presto.spi.ConnectorSession session, com.facebook.presto.spi.ConnectorInsertTableHandle tableHandle, Collection<io.airlift.slice.Slice> fragments)
commitPageSinkAsync in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic List<com.facebook.presto.spi.ConnectorMetadataUpdateHandle> getMetadataUpdateResults(List<com.facebook.presto.spi.ConnectorMetadataUpdateHandle> metadataUpdateRequests, com.facebook.presto.spi.QueryId queryId)
getMetadataUpdateResults in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic void doMetadataUpdateCleanup(com.facebook.presto.spi.QueryId queryId)
doMetadataUpdateCleanup in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic List<PartitionUpdate> getPartitionUpdates(com.facebook.presto.spi.ConnectorSession session, Collection<io.airlift.slice.Slice> fragments)
protected Optional<TableEncryptionProperties> getTableEncryptionPropertiesFromTableProperties(com.facebook.presto.spi.ConnectorTableMetadata tableMetadata, com.facebook.presto.hive.HiveStorageFormat hiveStorageFormat, List<String> partitionedBy)
public void rollback()
rollback in interface TransactionalMetadatapublic com.facebook.presto.spi.connector.ConnectorCommitHandle commit()
commit in interface TransactionalMetadatapublic com.facebook.presto.spi.TableLayoutFilterCoverage getTableLayoutFilterCoverage(com.facebook.presto.spi.ConnectorTableLayoutHandle connectorTableLayoutHandle,
Set<String> relevantPartitionColumns)
getTableLayoutFilterCoverage in interface com.facebook.presto.spi.connector.ConnectorMetadatapublic static Optional<com.facebook.presto.spi.SchemaTableName> getSourceTableNameFromSystemTable(com.facebook.presto.spi.SchemaTableName tableName)
Copyright © 2012–2023. All rights reserved.