Class TrinoGlueCatalog
java.lang.Object
io.trino.plugin.iceberg.catalog.AbstractTrinoCatalog
io.trino.plugin.iceberg.catalog.glue.TrinoGlueCatalog
- All Implemented Interfaces:
TrinoCatalog
-
Nested Class Summary
Nested classes/interfaces inherited from class io.trino.plugin.iceberg.catalog.AbstractTrinoCatalog
AbstractTrinoCatalog.MaterializedViewMayBeBeingRemovedException -
Field Summary
Fields inherited from class io.trino.plugin.iceberg.catalog.AbstractTrinoCatalog
PRESTO_QUERY_ID_NAME, tableOperationsProvider, TRINO_CREATED_BY, TRINO_CREATED_BY_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionTrinoGlueCatalog(CatalogName catalogName, TrinoFileSystemFactory fileSystemFactory, TypeManager typeManager, boolean cacheTableMetadata, IcebergTableOperationsProvider tableOperationsProvider, String trinoVersion, com.amazonaws.services.glue.AWSGlueAsync glueClient, GlueMetastoreStats stats, Optional<String> defaultSchemaLocation, boolean useUniqueTableLocation) -
Method Summary
Modifier and TypeMethodDescriptionvoidcreateMaterializedView(ConnectorSession session, SchemaTableName viewName, ConnectorMaterializedViewDefinition definition, boolean replace, boolean ignoreExisting) voidcreateNamespace(ConnectorSession session, String namespace, Map<String, Object> properties, TrinoPrincipal owner) voidcreateView(ConnectorSession session, SchemaTableName schemaViewName, ConnectorViewDefinition definition, boolean replace) defaultTableLocation(ConnectorSession session, SchemaTableName schemaTableName) protected Optional<ConnectorMaterializedViewDefinition>doGetMaterializedView(ConnectorSession session, SchemaTableName viewName) voiddropCorruptedTable(ConnectorSession session, SchemaTableName schemaTableName) voiddropMaterializedView(ConnectorSession session, SchemaTableName viewName) voiddropNamespace(ConnectorSession session, String namespace) voiddropTable(ConnectorSession session, SchemaTableName schemaTableName) voiddropView(ConnectorSession session, SchemaTableName schemaViewName) getNamespacePrincipal(ConnectorSession session, String namespace) getView(ConnectorSession session, SchemaTableName viewName) listMaterializedViews(ConnectorSession session, Optional<String> namespace) listNamespaces(ConnectorSession session) listTables(ConnectorSession session, Optional<String> namespace) listViews(ConnectorSession session, Optional<String> namespace) loadNamespaceMetadata(ConnectorSession session, String namespace) org.apache.iceberg.TableloadTable(ConnectorSession session, SchemaTableName table) load an Iceberg tablebooleannamespaceExists(ConnectorSession session, String namespace) org.apache.iceberg.TransactionnewCreateTableTransaction(ConnectorSession session, SchemaTableName schemaTableName, org.apache.iceberg.Schema schema, org.apache.iceberg.PartitionSpec partitionSpec, org.apache.iceberg.SortOrder sortOrder, String location, Map<String, String> properties) redirectTable(ConnectorSession session, SchemaTableName tableName, String hiveCatalogName) voidregisterTable(ConnectorSession session, SchemaTableName schemaTableName, org.apache.iceberg.TableMetadata tableMetadata) voidrenameMaterializedView(ConnectorSession session, SchemaTableName source, SchemaTableName target) voidrenameNamespace(ConnectorSession session, String source, String target) voidrenameTable(ConnectorSession session, SchemaTableName from, SchemaTableName to) voidrenameView(ConnectorSession session, SchemaTableName source, SchemaTableName target) voidsetNamespacePrincipal(ConnectorSession session, String namespace, TrinoPrincipal principal) voidsetTablePrincipal(ConnectorSession session, SchemaTableName schemaTableName, TrinoPrincipal principal) voidsetViewPrincipal(ConnectorSession session, SchemaTableName schemaViewName, TrinoPrincipal principal) streamRelationColumns(ConnectorSession session, Optional<String> namespace, UnaryOperator<Set<SchemaTableName>> relationFilter, Predicate<SchemaTableName> isRedirected) streamRelationComments(ConnectorSession session, Optional<String> namespace, UnaryOperator<Set<SchemaTableName>> relationFilter, Predicate<SchemaTableName> isRedirected) tryGetColumnMetadata(ConnectorSession session, List<SchemaTableName> tables) Bulk load column metadata.voidunregisterTable(ConnectorSession session, SchemaTableName schemaTableName) voidupdateMaterializedViewColumnComment(ConnectorSession session, SchemaTableName viewName, String columnName, Optional<String> comment) voidupdateViewColumnComment(ConnectorSession session, SchemaTableName viewName, String columnName, Optional<String> comment) voidupdateViewComment(ConnectorSession session, SchemaTableName viewName, Optional<String> comment) Methods inherited from class io.trino.plugin.iceberg.catalog.AbstractTrinoCatalog
createMaterializedViewProperties, createMaterializedViewStorageTable, createNewTableName, deleteTableDirectory, getMaterializedView, getMaterializedViewDefinition, getViews, newCreateTableTransaction, toSpiMaterializedViewColumns, updateColumnComment, updateTableComment
-
Constructor Details
-
TrinoGlueCatalog
public TrinoGlueCatalog(CatalogName catalogName, TrinoFileSystemFactory fileSystemFactory, TypeManager typeManager, boolean cacheTableMetadata, IcebergTableOperationsProvider tableOperationsProvider, String trinoVersion, com.amazonaws.services.glue.AWSGlueAsync glueClient, GlueMetastoreStats stats, Optional<String> defaultSchemaLocation, boolean useUniqueTableLocation)
-
-
Method Details
-
namespaceExists
-
listNamespaces
-
dropNamespace
-
loadNamespaceMetadata
-
getNamespacePrincipal
-
createNamespace
public void createNamespace(ConnectorSession session, String namespace, Map<String, Object> properties, TrinoPrincipal owner) -
setNamespacePrincipal
public void setNamespacePrincipal(ConnectorSession session, String namespace, TrinoPrincipal principal) -
renameNamespace
-
listTables
-
streamRelationColumns
public Optional<Iterator<RelationColumnsMetadata>> streamRelationColumns(ConnectorSession session, Optional<String> namespace, UnaryOperator<Set<SchemaTableName>> relationFilter, Predicate<SchemaTableName> isRedirected) -
streamRelationComments
public Optional<Iterator<RelationCommentMetadata>> streamRelationComments(ConnectorSession session, Optional<String> namespace, UnaryOperator<Set<SchemaTableName>> relationFilter, Predicate<SchemaTableName> isRedirected) -
loadTable
Description copied from interface:TrinoCatalogload an Iceberg table- Parameters:
session- Trino sessiontable- Trino schema and table name- Returns:
- Iceberg table loaded
-
tryGetColumnMetadata
public Map<SchemaTableName,List<ColumnMetadata>> tryGetColumnMetadata(ConnectorSession session, List<SchemaTableName> tables) Description copied from interface:TrinoCatalogBulk load column metadata. The returned map may contain fewer entries then asked for. -
dropTable
-
dropCorruptedTable
-
newCreateTableTransaction
public org.apache.iceberg.Transaction newCreateTableTransaction(ConnectorSession session, SchemaTableName schemaTableName, org.apache.iceberg.Schema schema, org.apache.iceberg.PartitionSpec partitionSpec, org.apache.iceberg.SortOrder sortOrder, String location, Map<String, String> properties) -
registerTable
public void registerTable(ConnectorSession session, SchemaTableName schemaTableName, org.apache.iceberg.TableMetadata tableMetadata) throws TrinoException - Throws:
TrinoException
-
unregisterTable
-
renameTable
-
defaultTableLocation
-
setTablePrincipal
public void setTablePrincipal(ConnectorSession session, SchemaTableName schemaTableName, TrinoPrincipal principal) -
createView
public void createView(ConnectorSession session, SchemaTableName schemaViewName, ConnectorViewDefinition definition, boolean replace) -
renameView
-
setViewPrincipal
public void setViewPrincipal(ConnectorSession session, SchemaTableName schemaViewName, TrinoPrincipal principal) -
dropView
-
listViews
-
getView
public Optional<ConnectorViewDefinition> getView(ConnectorSession session, SchemaTableName viewName) -
updateViewComment
public void updateViewComment(ConnectorSession session, SchemaTableName viewName, Optional<String> comment) -
updateViewColumnComment
public void updateViewColumnComment(ConnectorSession session, SchemaTableName viewName, String columnName, Optional<String> comment) -
listMaterializedViews
public List<SchemaTableName> listMaterializedViews(ConnectorSession session, Optional<String> namespace) -
createMaterializedView
public void createMaterializedView(ConnectorSession session, SchemaTableName viewName, ConnectorMaterializedViewDefinition definition, boolean replace, boolean ignoreExisting) -
updateMaterializedViewColumnComment
public void updateMaterializedViewColumnComment(ConnectorSession session, SchemaTableName viewName, String columnName, Optional<String> comment) -
dropMaterializedView
-
doGetMaterializedView
protected Optional<ConnectorMaterializedViewDefinition> doGetMaterializedView(ConnectorSession session, SchemaTableName viewName) - Specified by:
doGetMaterializedViewin classAbstractTrinoCatalog
-
renameMaterializedView
public void renameMaterializedView(ConnectorSession session, SchemaTableName source, SchemaTableName target) -
redirectTable
public Optional<CatalogSchemaTableName> redirectTable(ConnectorSession session, SchemaTableName tableName, String hiveCatalogName)
-