public class JdbcCatalog extends AbstractCatalog
Catalog.BranchAlreadyExistException, Catalog.BranchNotExistException, Catalog.ColumnAlreadyExistException, Catalog.ColumnNotExistException, Catalog.DatabaseAlreadyExistException, Catalog.DatabaseNoPermissionException, Catalog.DatabaseNotEmptyException, Catalog.DatabaseNotExistException, Catalog.DialectAlreadyExistException, Catalog.DialectNotExistException, Catalog.ProcessSystemDatabaseException, Catalog.TableAlreadyExistException, Catalog.TableNoPermissionException, Catalog.TableNotExistException, Catalog.TagNotExistException, Catalog.ViewAlreadyExistException, Catalog.ViewNotExistException| Modifier and Type | Field and Description |
|---|---|
static String |
PROPERTY_PREFIX |
catalogOptions, fileIO, tableDefaultOptionsCOMMENT_PROP, DB_LOCATION_PROP, DB_SUFFIX, DEFAULT_DATABASE, LAST_UPDATE_TIME_PROP, NUM_FILES_PROP, NUM_ROWS_PROP, OWNER_PROP, SYSTEM_BRANCH_PREFIX, SYSTEM_DATABASE_NAME, SYSTEM_TABLE_SPLITTER, TABLE_DEFAULT_OPTION_PREFIX, TOTAL_SIZE_PROP| Modifier | Constructor and Description |
|---|---|
protected |
JdbcCatalog(FileIO fileIO,
String catalogKey,
Options options,
String warehouse) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
alterDatabaseImpl(String name,
List<PropertyChange> changes) |
protected void |
alterTableImpl(Identifier identifier,
List<SchemaChange> changes) |
boolean |
caseSensitive()
Return a boolean that indicates whether this catalog is case-sensitive.
|
CatalogLoader |
catalogLoader()
Serializable loader to create catalog.
|
void |
close() |
protected void |
createDatabaseImpl(String name,
Map<String,String> properties) |
protected void |
createTableImpl(Identifier identifier,
Schema schema) |
Optional<CatalogLockFactory> |
defaultLockFactory() |
protected void |
dropDatabaseImpl(String name) |
protected void |
dropTableImpl(Identifier identifier,
List<Path> externalPaths) |
JdbcClientPool |
getConnections() |
protected Database |
getDatabaseImpl(String databaseName) |
List<String> |
listDatabases()
Get the names of all databases in this catalog.
|
protected List<String> |
listTablesImpl(String databaseName) |
protected TableSchema |
loadTableSchema(Identifier identifier) |
Optional<CatalogLockContext> |
lockContext() |
protected void |
renameTableImpl(Identifier fromTable,
Identifier toTable) |
<T> T |
runWithLock(Identifier identifier,
Callable<T> callable) |
String |
warehouse() |
allowCustomTablePath, alterDatabase, alterPartitions, alterTable, assertMainBranch, commitSnapshot, createBranch, createDatabase, createFormatTable, createPartitions, createTable, dropBranch, dropDatabase, dropPartitions, dropTable, fastForward, fileIO, fileIO, getDatabase, getTable, getTableLocation, listBranches, listDatabasesInFileSystem, listDatabasesPaged, listPartitions, listPartitionsPaged, listTableDetailsPaged, listTableDetailsPagedImpl, listTables, listTablesInFileSystem, listTablesPaged, loadSnapshot, loadTableMetadata, lockEnabled, lockFactory, markDonePartitions, newDatabasePath, newDatabasePath, newTableLocation, options, renameTable, rollbackTo, supportsListObjectsPaged, supportsVersionManagement, tableExistsInFileSystem, tableSchemaInFileSystemclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitalterTable, alterView, createDatabase, createView, dropView, getView, invalidateTable, listViewDetailsPaged, listViews, listViewsPaged, renameView, repairCatalog, repairDatabase, repairTablepublic static final String PROPERTY_PREFIX
@VisibleForTesting public JdbcClientPool getConnections()
public String warehouse()
warehouse in class AbstractCatalogpublic CatalogLoader catalogLoader()
Catalogpublic List<String> listDatabases()
Catalogprotected Database getDatabaseImpl(String databaseName) throws Catalog.DatabaseNotExistException
getDatabaseImpl in class AbstractCatalogCatalog.DatabaseNotExistExceptionprotected void createDatabaseImpl(String name, Map<String,String> properties)
createDatabaseImpl in class AbstractCatalogprotected void dropDatabaseImpl(String name)
dropDatabaseImpl in class AbstractCatalogprotected void alterDatabaseImpl(String name, List<PropertyChange> changes)
alterDatabaseImpl in class AbstractCatalogprotected List<String> listTablesImpl(String databaseName)
listTablesImpl in class AbstractCatalogprotected void dropTableImpl(Identifier identifier, List<Path> externalPaths)
dropTableImpl in class AbstractCatalogprotected void createTableImpl(Identifier identifier, Schema schema)
createTableImpl in class AbstractCatalogprotected void renameTableImpl(Identifier fromTable, Identifier toTable)
renameTableImpl in class AbstractCatalogprotected void alterTableImpl(Identifier identifier, List<SchemaChange> changes) throws Catalog.ColumnAlreadyExistException, Catalog.TableNotExistException, Catalog.ColumnNotExistException
alterTableImpl in class AbstractCatalogCatalog.ColumnAlreadyExistExceptionCatalog.TableNotExistExceptionCatalog.ColumnNotExistExceptionprotected TableSchema loadTableSchema(Identifier identifier) throws Catalog.TableNotExistException
loadTableSchema in class AbstractCatalogCatalog.TableNotExistExceptionpublic boolean caseSensitive()
Catalogpublic Optional<CatalogLockFactory> defaultLockFactory()
defaultLockFactory in class AbstractCatalogpublic Optional<CatalogLockContext> lockContext()
lockContext in class AbstractCatalogpublic <T> T runWithLock(Identifier identifier, Callable<T> callable) throws Exception
ExceptionCopyright © 2023–2025 The Apache Software Foundation. All rights reserved.