@Internal public final class ContextResolvedTable extends Object
ResolvedSchema
, its options and its
relationship with a Catalog
, if any.
There can be 3 kinds of ContextResolvedTable
:
Catalog
and has an associated
unique ObjectIdentifier
.
CatalogManager
, has an associated
unique ObjectIdentifier
and is flagged as temporary.
ObjectIdentifier
.
The different handling of temporary and permanent tables is Catalog
and CatalogManager
instance specific, hence for these two kind of tables, an instance of this object
represents the relationship between the specific ResolvedCatalogBaseTable
instance and
the specific Catalog
/CatalogManager
instances. For example, the same ResolvedCatalogBaseTable
can be temporary for one catalog, but permanent for another one.
public static ContextResolvedTable permanent(ObjectIdentifier identifier, Catalog catalog, ResolvedCatalogBaseTable<?> resolvedTable)
public static ContextResolvedTable temporary(ObjectIdentifier identifier, ResolvedCatalogBaseTable<?> resolvedTable)
public static ContextResolvedTable anonymous(ResolvedCatalogBaseTable<?> resolvedTable)
public static ContextResolvedTable anonymous(String hint, ResolvedCatalogBaseTable<?> resolvedTable)
public boolean isAnonymous()
public boolean isTemporary()
public boolean isPermanent()
public ObjectIdentifier getIdentifier()
public Optional<Catalog> getCatalog()
isPermanent()
is false.public <T extends ResolvedCatalogBaseTable<?>> T getResolvedTable()
public ResolvedSchema getResolvedSchema()
public <T extends CatalogBaseTable> T getTable()
public ContextResolvedTable copy(Map<String,String> newOptions)
ContextResolvedTable
, replacing the underlying CatalogTable
options.public ContextResolvedTable copy(ResolvedSchema newSchema)
ContextResolvedTable
, replacing the underlying ResolvedSchema
.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.