public class GenericInMemoryCatalog extends AbstractCatalog
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_DB |
Constructor and Description |
---|
GenericInMemoryCatalog(String name) |
GenericInMemoryCatalog(String name,
String defaultDatabase) |
Modifier and Type | Method and Description |
---|---|
void |
alterDatabase(String databaseName,
CatalogDatabase newDatabase,
boolean ignoreIfNotExists)
Modify an existing database.
|
void |
alterFunction(ObjectPath functionPath,
CatalogFunction newFunction,
boolean ignoreIfNotExists)
Modify an existing function.
|
void |
alterPartition(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec,
CatalogPartition newPartition,
boolean ignoreIfNotExists)
Alter a partition.
|
void |
alterPartitionColumnStatistics(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec,
CatalogColumnStatistics columnStatistics,
boolean ignoreIfNotExists)
Update the column statistics of a table partition.
|
void |
alterPartitionStatistics(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec,
CatalogTableStatistics partitionStatistics,
boolean ignoreIfNotExists)
Update the statistics of a table partition.
|
void |
alterTable(ObjectPath tablePath,
CatalogBaseTable newTable,
boolean ignoreIfNotExists)
Modify an existing table or view.
|
void |
alterTableColumnStatistics(ObjectPath tablePath,
CatalogColumnStatistics columnStatistics,
boolean ignoreIfNotExists)
Update the column statistics of a table.
|
void |
alterTableStatistics(ObjectPath tablePath,
CatalogTableStatistics tableStatistics,
boolean ignoreIfNotExists)
Update the statistics of a table.
|
void |
close()
Close the catalog when it is no longer needed and release any resource that it might be holding.
|
void |
createDatabase(String databaseName,
CatalogDatabase db,
boolean ignoreIfExists)
Create a database.
|
void |
createFunction(ObjectPath functionPath,
CatalogFunction function,
boolean ignoreIfExists)
Create a function.
|
void |
createPartition(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec,
CatalogPartition partition,
boolean ignoreIfExists)
Create a partition.
|
void |
createTable(ObjectPath tablePath,
CatalogBaseTable table,
boolean ignoreIfExists)
Create a new table or view.
|
boolean |
databaseExists(String databaseName)
Check if a database exists in this catalog.
|
void |
dropDatabase(String databaseName,
boolean ignoreIfNotExists)
Drop a database.
|
void |
dropFunction(ObjectPath functionPath,
boolean ignoreIfNotExists)
Drop a function.
|
void |
dropPartition(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec,
boolean ignoreIfNotExists)
Drop a partition.
|
void |
dropTable(ObjectPath tablePath,
boolean ignoreIfNotExists)
Drop a table or view.
|
boolean |
functionExists(ObjectPath functionPath)
Check whether a function exists or not.
|
CatalogDatabase |
getDatabase(String databaseName)
Get a database from this catalog.
|
CatalogFunction |
getFunction(ObjectPath functionPath)
Get the function.
|
CatalogPartition |
getPartition(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec)
Get a partition of the given table.
|
CatalogColumnStatistics |
getPartitionColumnStatistics(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec)
Get the column statistics of a partition.
|
CatalogTableStatistics |
getPartitionStatistics(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec)
Get the statistics of a partition.
|
CatalogBaseTable |
getTable(ObjectPath tablePath)
Get a CatalogTable or CatalogView identified by tablePath.
|
CatalogColumnStatistics |
getTableColumnStatistics(ObjectPath tablePath)
Get the column statistics of a table.
|
CatalogTableStatistics |
getTableStatistics(ObjectPath tablePath)
Get the statistics of a table.
|
List<String> |
listDatabases()
Get the names of all databases in this catalog.
|
List<String> |
listFunctions(String databaseName)
List the names of all functions in the given database.
|
List<CatalogPartitionSpec> |
listPartitions(ObjectPath tablePath)
Get CatalogPartitionSpec of all partitions of the table.
|
List<CatalogPartitionSpec> |
listPartitions(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec)
Get CatalogPartitionSpec of all partitions that is under the given CatalogPartitionSpec in the table.
|
List<String> |
listTables(String databaseName)
Get names of all tables and views under this database.
|
List<String> |
listViews(String databaseName)
Get names of all views under this database.
|
void |
open()
Open the catalog.
|
boolean |
partitionExists(ObjectPath tablePath,
CatalogPartitionSpec partitionSpec)
Check whether a partition exists or not.
|
void |
renameTable(ObjectPath tablePath,
String newTableName,
boolean ignoreIfNotExists)
Rename an existing table or view.
|
boolean |
tableExists(ObjectPath tablePath)
Check if a table or view exists in this catalog.
|
getDefaultDatabase, getName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getTableFactory
public static final String DEFAULT_DB
public GenericInMemoryCatalog(String name)
public void open()
Catalog
public void close()
Catalog
public void createDatabase(String databaseName, CatalogDatabase db, boolean ignoreIfExists) throws DatabaseAlreadyExistException
Catalog
databaseName
- Name of the database to be createddb
- The database definitionignoreIfExists
- Flag to specify behavior when a database with the given name already exists:
if set to false, throw a DatabaseAlreadyExistException,
if set to true, do nothing.DatabaseAlreadyExistException
- if the given database already exists and ignoreIfExists is falsepublic void dropDatabase(String databaseName, boolean ignoreIfNotExists) throws DatabaseNotExistException, DatabaseNotEmptyException
Catalog
databaseName
- Name of the database to be dropped.ignoreIfNotExists
- Flag to specify behavior when the database does not exist:
if set to false, throw an exception,
if set to true, do nothing.DatabaseNotExistException
- if the given database does not existDatabaseNotEmptyException
public void alterDatabase(String databaseName, CatalogDatabase newDatabase, boolean ignoreIfNotExists) throws DatabaseNotExistException
Catalog
databaseName
- Name of the database to be modifiednewDatabase
- The new database definitionignoreIfNotExists
- Flag to specify behavior when the given database does not exist:
if set to false, throw an exception,
if set to true, do nothing.DatabaseNotExistException
- if the given database does not existpublic List<String> listDatabases()
Catalog
public CatalogDatabase getDatabase(String databaseName) throws DatabaseNotExistException
Catalog
databaseName
- Name of the databaseDatabaseNotExistException
- if the database does not existpublic boolean databaseExists(String databaseName)
Catalog
databaseName
- Name of the databasepublic void createTable(ObjectPath tablePath, CatalogBaseTable table, boolean ignoreIfExists) throws TableAlreadyExistException, DatabaseNotExistException
Catalog
tablePath
- path of the table or view to be createdtable
- the table definitionignoreIfExists
- flag to specify behavior when a table or view already exists at the given path:
if set to false, it throws a TableAlreadyExistException,
if set to true, do nothing.TableAlreadyExistException
- if table already exists and ignoreIfExists is falseDatabaseNotExistException
- if the database in tablePath doesn't existpublic void alterTable(ObjectPath tablePath, CatalogBaseTable newTable, boolean ignoreIfNotExists) throws TableNotExistException
Catalog
tablePath
- path of the table or view to be modifiednewTable
- the new table definitionignoreIfNotExists
- flag to specify behavior when the table or view does not exist:
if set to false, throw an exception,
if set to true, do nothing.TableNotExistException
- if the table does not existpublic void dropTable(ObjectPath tablePath, boolean ignoreIfNotExists) throws TableNotExistException
Catalog
tablePath
- Path of the table or view to be droppedignoreIfNotExists
- Flag to specify behavior when the table or view does not exist:
if set to false, throw an exception,
if set to true, do nothing.TableNotExistException
- if the table or view does not existpublic void renameTable(ObjectPath tablePath, String newTableName, boolean ignoreIfNotExists) throws TableNotExistException, TableAlreadyExistException
Catalog
tablePath
- Path of the table or view to be renamednewTableName
- the new name of the table or viewignoreIfNotExists
- Flag to specify behavior when the table or view does not exist:
if set to false, throw an exception,
if set to true, do nothing.TableNotExistException
- if the table does not existTableAlreadyExistException
public List<String> listTables(String databaseName) throws DatabaseNotExistException
Catalog
DatabaseNotExistException
- if the database does not existpublic List<String> listViews(String databaseName) throws DatabaseNotExistException
Catalog
databaseName
- the name of the given databaseDatabaseNotExistException
- if the database does not existpublic CatalogBaseTable getTable(ObjectPath tablePath) throws TableNotExistException
Catalog
tablePath
- Path of the table or viewTableNotExistException
- if the target does not existpublic boolean tableExists(ObjectPath tablePath)
Catalog
tablePath
- Path of the table or viewpublic void createFunction(ObjectPath functionPath, CatalogFunction function, boolean ignoreIfExists) throws FunctionAlreadyExistException, DatabaseNotExistException
Catalog
functionPath
- path of the functionfunction
- the function to be createdignoreIfExists
- flag to specify behavior if a function with the given name already exists:
if set to false, it throws a FunctionAlreadyExistException,
if set to true, nothing happens.FunctionAlreadyExistException
- if the function already existDatabaseNotExistException
- if the given database does not existpublic void alterFunction(ObjectPath functionPath, CatalogFunction newFunction, boolean ignoreIfNotExists) throws FunctionNotExistException
Catalog
functionPath
- path of the functionnewFunction
- the function to be modifiedignoreIfNotExists
- flag to specify behavior if the function does not exist:
if set to false, throw an exception
if set to true, nothing happensFunctionNotExistException
- if the function does not existpublic void dropFunction(ObjectPath functionPath, boolean ignoreIfNotExists) throws FunctionNotExistException
Catalog
functionPath
- path of the function to be droppedignoreIfNotExists
- plag to specify behavior if the function does not exist:
if set to false, throw an exception
if set to true, nothing happensFunctionNotExistException
- if the function does not existpublic List<String> listFunctions(String databaseName) throws DatabaseNotExistException
Catalog
databaseName
- name of the database.DatabaseNotExistException
- if the database does not existpublic CatalogFunction getFunction(ObjectPath functionPath) throws FunctionNotExistException
Catalog
functionPath
- path of the functionFunctionNotExistException
- if the function does not exist in the catalogpublic boolean functionExists(ObjectPath functionPath)
Catalog
functionPath
- path of the functionpublic void createPartition(ObjectPath tablePath, CatalogPartitionSpec partitionSpec, CatalogPartition partition, boolean ignoreIfExists) throws TableNotExistException, TableNotPartitionedException, PartitionSpecInvalidException, PartitionAlreadyExistsException, CatalogException
Catalog
tablePath
- path of the table.partitionSpec
- partition spec of the partitionpartition
- the partition to add.ignoreIfExists
- flag to specify behavior if a table with the given name already exists:
if set to false, it throws a TableAlreadyExistException,
if set to true, nothing happens.TableNotExistException
- thrown if the target table does not existTableNotPartitionedException
- thrown if the target table is not partitionedPartitionSpecInvalidException
- thrown if the given partition spec is invalidPartitionAlreadyExistsException
- thrown if the target partition already existsCatalogException
- in case of any runtime exceptionpublic void dropPartition(ObjectPath tablePath, CatalogPartitionSpec partitionSpec, boolean ignoreIfNotExists) throws PartitionNotExistException, CatalogException
Catalog
tablePath
- path of the table.partitionSpec
- partition spec of the partition to dropignoreIfNotExists
- flag to specify behavior if the database does not exist:
if set to false, throw an exception,
if set to true, nothing happens.PartitionNotExistException
- thrown if the target partition does not existCatalogException
- in case of any runtime exceptionpublic void alterPartition(ObjectPath tablePath, CatalogPartitionSpec partitionSpec, CatalogPartition newPartition, boolean ignoreIfNotExists) throws PartitionNotExistException, CatalogException
Catalog
tablePath
- path of the tablepartitionSpec
- partition spec of the partitionnewPartition
- new partition to replace the old oneignoreIfNotExists
- flag to specify behavior if the database does not exist:
if set to false, throw an exception,
if set to true, nothing happens.PartitionNotExistException
- thrown if the target partition does not existCatalogException
- in case of any runtime exceptionpublic List<CatalogPartitionSpec> listPartitions(ObjectPath tablePath) throws TableNotExistException, TableNotPartitionedException, CatalogException
Catalog
tablePath
- path of the tableTableNotExistException
- thrown if the table does not exist in the catalogTableNotPartitionedException
- thrown if the table is not partitionedCatalogException
- in case of any runtime exceptionpublic List<CatalogPartitionSpec> listPartitions(ObjectPath tablePath, CatalogPartitionSpec partitionSpec) throws TableNotExistException, TableNotPartitionedException, CatalogException
Catalog
tablePath
- path of the tablepartitionSpec
- the partition spec to listTableNotExistException
- thrown if the table does not exist in the catalogTableNotPartitionedException
- thrown if the table is not partitionedCatalogException
- in case of any runtime exceptionpublic CatalogPartition getPartition(ObjectPath tablePath, CatalogPartitionSpec partitionSpec) throws PartitionNotExistException, CatalogException
Catalog
tablePath
- path of the tablepartitionSpec
- partition spec of partition to getPartitionNotExistException
- thrown if the partition doesn't existCatalogException
- in case of any runtime exceptionpublic boolean partitionExists(ObjectPath tablePath, CatalogPartitionSpec partitionSpec) throws CatalogException
Catalog
tablePath
- path of the tablepartitionSpec
- partition spec of the partition to checkCatalogException
- in case of any runtime exceptionpublic CatalogTableStatistics getTableStatistics(ObjectPath tablePath) throws TableNotExistException
Catalog
tablePath
- path of the tableTableNotExistException
- if the table does not exist in the catalogpublic CatalogColumnStatistics getTableColumnStatistics(ObjectPath tablePath) throws TableNotExistException
Catalog
tablePath
- path of the tableTableNotExistException
- if the table does not exist in the catalogpublic CatalogTableStatistics getPartitionStatistics(ObjectPath tablePath, CatalogPartitionSpec partitionSpec) throws PartitionNotExistException
Catalog
tablePath
- path of the tablepartitionSpec
- partition spec of the partitionPartitionNotExistException
- if the partition does not existpublic CatalogColumnStatistics getPartitionColumnStatistics(ObjectPath tablePath, CatalogPartitionSpec partitionSpec) throws PartitionNotExistException
Catalog
tablePath
- path of the tablepartitionSpec
- partition spec of the partitionPartitionNotExistException
- if the partition does not existpublic void alterTableStatistics(ObjectPath tablePath, CatalogTableStatistics tableStatistics, boolean ignoreIfNotExists) throws TableNotExistException
Catalog
tablePath
- path of the tabletableStatistics
- new statistics to updateignoreIfNotExists
- flag to specify behavior if the table does not exist:
if set to false, throw an exception,
if set to true, nothing happens.TableNotExistException
- if the table does not exist in the catalogpublic void alterTableColumnStatistics(ObjectPath tablePath, CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists) throws TableNotExistException
Catalog
tablePath
- path of the tablecolumnStatistics
- new column statistics to updateignoreIfNotExists
- flag to specify behavior if the table does not exist:
if set to false, throw an exception,
if set to true, nothing happens.TableNotExistException
- if the table does not exist in the catalogpublic void alterPartitionStatistics(ObjectPath tablePath, CatalogPartitionSpec partitionSpec, CatalogTableStatistics partitionStatistics, boolean ignoreIfNotExists) throws PartitionNotExistException
Catalog
tablePath
- path of the tablepartitionSpec
- partition spec of the partitionpartitionStatistics
- new statistics to updateignoreIfNotExists
- flag to specify behavior if the partition does not exist:
if set to false, throw an exception,
if set to true, nothing happens.PartitionNotExistException
- if the partition does not existpublic void alterPartitionColumnStatistics(ObjectPath tablePath, CatalogPartitionSpec partitionSpec, CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists) throws PartitionNotExistException
Catalog
tablePath
- path of the tablepartitionSpec
- partition spec of the partitionignoreIfNotExists
- flag to specify behavior if the partition does not exist:
if set to false, throw an exception,
if set to true, nothing happens.PartitionNotExistException
- if the partition does not existCopyright © 2014–2020 The Apache Software Foundation. All rights reserved.