Package io.deephaven.enterprise.iceberg
Class IcebergTableAccess
java.lang.Object
io.deephaven.enterprise.database.DatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable,Table>
io.deephaven.enterprise.iceberg.IcebergTableAccess
- All Implemented Interfaces:
Database.DatabaseTableAccess<IcebergTableAccess.Options>,TableAccess<IcebergTableAccess.Options>
public final class IcebergTableAccess
extends DatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable,Table>
Iceberg table access, allows for more explicit Iceberg options than
Database natively has.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classMore advanced results, useful forIcebergUpdateMode.IcebergUpdateType.MANUAL_REFRESHING.static interfaceThe Iceberg specific table access options.Nested classes/interfaces inherited from class io.deephaven.enterprise.database.DatabaseTableAccessAclBase
DatabaseTableAccessAclBase.AclAndAuditSupport, DatabaseTableAccessAclBase.IntermediateResults<Options,Pre extends Table>, DatabaseTableAccessAclBase.PreAndPostTable<Pre extends Table, Post extends Table> -
Method Summary
Modifier and TypeMethodDescriptionprotected Stringevent(IcebergTableAccess.Options options) Extract the audit event access string from the type-specificoptions.factory()The Iceberg table access factory.booleanisRefreshing(@NotNull IcebergTableAccess.Options options) Extract if the table should be refreshing from the type-specificoptions.manuallyRefreshingTable(String namespace, String tableName, IcebergReadInstructions readInstructions) Fetches an Iceberg table results with manual refreshing support.protected Stringnamespace(@NotNull IcebergTableAccess.Options options) Extract the namespace from the type-specificoptions.static IcebergTableAccessCreate a new instance of the Iceberg table access.protected TablepostAclTableApply(DatabaseTableAccessAclBase.IntermediateResults<IcebergTableAccess.Options, IcebergTable> intermediate) Provides a hook for implementations to apply a post-ACL table filter or transformation.table(String namespace, String tableName, IcebergReadInstructions readInstructions) Fetches an Iceberg table.protected IcebergTabletableImpl(@NotNull IcebergTableAccess.Options options) The entrypoint for implementations to fetch an intermediateTable, which will subsequently have ACLs applied be being exposed to the user.protected StringtableName(@NotNull IcebergTableAccess.Options options) Extract the table name from the type-specificoptions.Methods inherited from class io.deephaven.enterprise.database.DatabaseTableAccessAclBase
preAndPostTable, schemaFor, table
-
Method Details
-
factory
The Iceberg table access factory.- Returns:
- the Iceberg table access factory
-
of
Create a new instance of the Iceberg table access. Equivalent todb.as(factory()).- Parameters:
db- the db- Returns:
- the Iceberg table access
- See Also:
-
table
Fetches an Iceberg table. A helper for#table(Options)thatloadstheIcebergTableOptionsfrom thenamespaceandtableName'sSchema.- Parameters:
namespace- the namespacetableName- the table namereadInstructions- the read instructions- Returns:
- the table
-
manuallyRefreshingTable
public IcebergTableAccess.IcebergResults manuallyRefreshingTable(String namespace, String tableName, IcebergReadInstructions readInstructions) Fetches an Iceberg table results with manual refreshing support.LoadstheIcebergTableOptionsfrom thenamespaceandtableName'sSchema.- Parameters:
namespace- the namespacetableName- the table namereadInstructions- the read instructions- Returns:
- the Iceberg results
-
tableImpl
Description copied from class:DatabaseTableAccessAclBaseThe entrypoint for implementations to fetch an intermediateTable, which will subsequently have ACLs applied be being exposed to the user. Called fromDatabaseTableAccessAclBase.table(Object).- Specified by:
tableImplin classDatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable, Table> - Parameters:
options- the options- Returns:
- the base table
-
postAclTableApply
protected Table postAclTableApply(DatabaseTableAccessAclBase.IntermediateResults<IcebergTableAccess.Options, IcebergTable> intermediate) Description copied from class:DatabaseTableAccessAclBaseProvides a hook for implementations to apply a post-ACL table filter or transformation. The default implementations should returnDatabaseTableAccessAclBase.IntermediateResults.aclOrPre(). Called fromDatabaseTableAccessAclBase.table(Object).- Specified by:
postAclTableApplyin classDatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable, Table> - Parameters:
intermediate- the intermediate results- Returns:
- the table
-
namespace
Description copied from class:DatabaseTableAccessAclBaseExtract the namespace from the type-specificoptions.- Specified by:
namespacein classDatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable, Table> - Parameters:
options- the options- Returns:
- the namespace
-
tableName
Description copied from class:DatabaseTableAccessAclBaseExtract the table name from the type-specificoptions.- Specified by:
tableNamein classDatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable, Table> - Parameters:
options- the options- Returns:
- the table name
-
event
Description copied from class:DatabaseTableAccessAclBaseExtract the audit event access string from the type-specificoptions.- Specified by:
eventin classDatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable, Table> - Parameters:
options- the options- Returns:
- the audit event access string
-
isRefreshing
Description copied from class:DatabaseTableAccessAclBaseExtract if the table should be refreshing from the type-specificoptions.- Specified by:
isRefreshingin interfaceDatabase.DatabaseTableAccess<IcebergTableAccess.Options>- Specified by:
isRefreshingin classDatabaseTableAccessAclBase<IcebergTableAccess.Options,IcebergTable, Table> - Parameters:
options- the options- Returns:
- if the table should be refreshing
-