Skip to content

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:

Create Table

Table createTable(
  Identifier ident,
  Column[] columns,
  Transform[] partitions,
  Map<String, String> properties)

See:

Used when the following commands are executed:

Drop Table

boolean dropTable(
  Identifier ident)

Used when the following commands are executed:

List Tables

Identifier[] listTables(
  String[] namespace)

Used when:

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)
  1. Added in 3.5.3

Used when:

  • CatalogV2Util is requested to load a table
  • DataFrameWriter is requested to insertInto, saveInternal, saveAsTable
  • AtomicCreateTableAsSelectExec physical operator is executed
  • AtomicReplaceTableAsSelectExec physical operator is executed
  • CreateTableAsSelectExec physical operator is executed
  • ReplaceTableAsSelectExec physical operator is executed
  • DelegatingCatalogExtension is requested to load a table
  • RenameTableExec physical operator is executed
  • AtomicReplaceTableExec physical operator is executed
  • ReplaceTableExec physical operator is executed
  • V2SessionCatalog is requested to dropTableInternal, loadTable, dropTable, renameTable
  • DataStreamWriter is requested to toTable

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:
  • AtomicCreateTableAsSelectExec
  • AtomicReplaceTableAsSelectExec
  • AtomicReplaceTableExec
  • CreateTableAsSelectExec
  • CreateTableExec
  • DropTableExec
  • ReplaceTableAsSelectExec
  • ReplaceTableExec

  • V2SessionCatalog is requested to renameTable

Implementations