TableCatalog¶
TableCatalog is an extension of the CatalogPlugin abstraction for table catalogs.
Contract¶
Alter Table¶
Table alterTable(
Identifier ident,
TableChange... changes)
Changes (alters) a table based on the given TableChanges
Used when:
- AlterTableExec physical command is executed
DelegatingCatalogExtensionis requested to alterTable
Create Table¶
Table createTable(
Identifier ident,
Column[] columns,
Transform[] partitions,
Map<String, String> properties)
See:
Used when the following commands are executed:
CreateTableExecReplaceTableExec- CreateTableAsSelectExec
ReplaceTableAsSelectExec
Drop Table¶
boolean dropTable(
Identifier ident)
Used when the following commands are executed:
DropTableExecReplaceTableExec- CreateTableAsSelectExec
ReplaceTableAsSelectExec
List Tables¶
Identifier[] listTables(
String[] namespace)
Used when:
DelegatingCatalogExtensionis requested to listTables- ShowTablesExec is executed
Load Table¶
Table loadTable(
Identifier ident)
Table loadTable(
Identifier ident,
long timestamp)
Table loadTable(
Identifier ident,
Set<TableWritePrivilege> writePrivileges) // (1)!
Table loadTable(
Identifier ident,
String version)
- Added in 3.5.3
Used when:
CatalogV2Utilis requested to load a tableDataFrameWriteris requested to insertInto, saveInternal, saveAsTableAtomicCreateTableAsSelectExecphysical operator is executedAtomicReplaceTableAsSelectExecphysical operator is executed- CreateTableAsSelectExec physical operator is executed
ReplaceTableAsSelectExecphysical operator is executedDelegatingCatalogExtensionis requested to load a tableRenameTableExecphysical operator is executedAtomicReplaceTableExecphysical operator is executedReplaceTableExecphysical operator is executedV2SessionCatalogis requested to dropTableInternal, loadTable, dropTable, renameTableDataStreamWriteris requested totoTable
Rename Table¶
void renameTable(
Identifier oldIdent,
Identifier newIdent)
Used when the following commands are executed:
RenameTableExec
Table Exists¶
boolean tableExists(
Identifier ident)
Used when:
- The following commands are executed:
AtomicCreateTableAsSelectExecAtomicReplaceTableAsSelectExecAtomicReplaceTableExec- CreateTableAsSelectExec
CreateTableExecDropTableExecReplaceTableAsSelectExec-
ReplaceTableExec -
V2SessionCatalogis requested to renameTable