@ThreadSafe
public class ClusterClientTransactionAdmin
extends java.lang.Object
implements com.scalar.db.api.DistributedTransactionAdmin
DistributedTransactionAdmin for ScalarDB Cluster.
It uses ClusterRequestRouter with round-robin routing because any cluster node can
execute the administrative operations.
| Constructor and Description |
|---|
ClusterClientTransactionAdmin(com.scalar.db.config.DatabaseConfig databaseConfig) |
| Modifier and Type | Method and Description |
|---|---|
void |
addNewColumnToTable(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
com.scalar.db.io.DataType columnType) |
void |
alterUser(java.lang.String username,
java.lang.String password,
com.scalar.db.api.AuthAdmin.UserOption... userOptions) |
void |
close() |
boolean |
coordinatorTablesExist() |
void |
createCoordinatorTables() |
void |
createCoordinatorTables(boolean ifNotExist) |
void |
createCoordinatorTables(boolean ifNotExist,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
createCoordinatorTables(java.util.Map<java.lang.String,java.lang.String> options) |
void |
createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName) |
void |
createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
boolean ifNotExists) |
void |
createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
boolean ifNotExists,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
createNamespace(java.lang.String namespaceName) |
void |
createNamespace(java.lang.String namespaceName,
boolean ifNotExists) |
void |
createNamespace(java.lang.String namespaceName,
boolean ifNotExists,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
createNamespace(java.lang.String namespaceName,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata) |
void |
createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
boolean ifNotExists) |
void |
createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
boolean ifNotExists,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
createUser(java.lang.String username,
java.lang.String password,
com.scalar.db.api.AuthAdmin.UserOption... userOptions) |
void |
dropCoordinatorTables() |
void |
dropCoordinatorTables(boolean ifExist) |
void |
dropIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName) |
void |
dropIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
boolean ifExists) |
void |
dropNamespace(java.lang.String namespaceName) |
void |
dropNamespace(java.lang.String namespaceName,
boolean ifExists) |
void |
dropTable(java.lang.String namespaceName,
java.lang.String tableName) |
void |
dropTable(java.lang.String namespaceName,
java.lang.String tableName,
boolean ifExists) |
void |
dropUser(java.lang.String username) |
java.util.Set<java.lang.String> |
getNamespaceTableNames(java.lang.String namespaceName) |
java.util.Set<com.scalar.db.api.AuthAdmin.Privilege> |
getPrivileges(java.lang.String username,
java.lang.String namespaceName) |
java.util.Set<com.scalar.db.api.AuthAdmin.Privilege> |
getPrivileges(java.lang.String username,
java.lang.String namespaceName,
java.lang.String tableName) |
com.scalar.db.api.TableMetadata |
getTableMetadata(java.lang.String namespaceName,
java.lang.String tableName) |
java.util.Optional<com.scalar.db.api.AuthAdmin.User> |
getUser(java.lang.String username) |
java.util.List<com.scalar.db.api.AuthAdmin.User> |
getUsers() |
void |
grant(java.lang.String username,
java.lang.String namespaceName,
com.scalar.db.api.AuthAdmin.Privilege... privileges) |
void |
grant(java.lang.String username,
java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.AuthAdmin.Privilege... privileges) |
void |
importTable(java.lang.String namespace,
java.lang.String table,
java.util.Map<java.lang.String,java.lang.String> options) |
boolean |
indexExists(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName) |
boolean |
namespaceExists(java.lang.String namespaceName) |
void |
repairCoordinatorTables(java.util.Map<java.lang.String,java.lang.String> options) |
void |
repairTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
java.util.Map<java.lang.String,java.lang.String> options) |
void |
revoke(java.lang.String username,
java.lang.String namespaceName,
com.scalar.db.api.AuthAdmin.Privilege... privileges) |
void |
revoke(java.lang.String username,
java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.AuthAdmin.Privilege... privileges) |
boolean |
tableExists(java.lang.String namespaceName,
java.lang.String tableName) |
void |
truncateCoordinatorTables() |
void |
truncateTable(java.lang.String namespaceName,
java.lang.String tableName) |
public ClusterClientTransactionAdmin(com.scalar.db.config.DatabaseConfig databaseConfig)
public void createNamespace(java.lang.String namespaceName)
throws com.scalar.db.exception.storage.ExecutionException
createNamespace in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createNamespace(java.lang.String namespaceName,
boolean ifNotExists)
throws com.scalar.db.exception.storage.ExecutionException
createNamespace in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createNamespace(java.lang.String namespaceName,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createNamespace in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createNamespace(java.lang.String namespaceName,
boolean ifNotExists,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createNamespace in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata)
throws com.scalar.db.exception.storage.ExecutionException
createTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
boolean ifNotExists)
throws com.scalar.db.exception.storage.ExecutionException
createTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
boolean ifNotExists,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropTable(java.lang.String namespaceName,
java.lang.String tableName)
throws com.scalar.db.exception.storage.ExecutionException
dropTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropTable(java.lang.String namespaceName,
java.lang.String tableName,
boolean ifExists)
throws com.scalar.db.exception.storage.ExecutionException
dropTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropNamespace(java.lang.String namespaceName)
throws com.scalar.db.exception.storage.ExecutionException
dropNamespace in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropNamespace(java.lang.String namespaceName,
boolean ifExists)
throws com.scalar.db.exception.storage.ExecutionException
dropNamespace in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void truncateTable(java.lang.String namespaceName,
java.lang.String tableName)
throws com.scalar.db.exception.storage.ExecutionException
truncateTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName)
throws com.scalar.db.exception.storage.ExecutionException
createIndex in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
boolean ifNotExists)
throws com.scalar.db.exception.storage.ExecutionException
createIndex in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createIndex in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
boolean ifNotExists,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createIndex in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName)
throws com.scalar.db.exception.storage.ExecutionException
dropIndex in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropIndex(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
boolean ifExists)
throws com.scalar.db.exception.storage.ExecutionException
dropIndex in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionException@Nullable
public com.scalar.db.api.TableMetadata getTableMetadata(java.lang.String namespaceName,
java.lang.String tableName)
throws com.scalar.db.exception.storage.ExecutionException
getTableMetadata in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic java.util.Set<java.lang.String> getNamespaceTableNames(java.lang.String namespaceName)
throws com.scalar.db.exception.storage.ExecutionException
getNamespaceTableNames in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic boolean namespaceExists(java.lang.String namespaceName)
throws com.scalar.db.exception.storage.ExecutionException
namespaceExists in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic boolean tableExists(java.lang.String namespaceName,
java.lang.String tableName)
throws com.scalar.db.exception.storage.ExecutionException
tableExists in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic boolean indexExists(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName)
throws com.scalar.db.exception.storage.ExecutionException
indexExists in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void repairTable(java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.TableMetadata tableMetadata,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
repairTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void addNewColumnToTable(java.lang.String namespaceName,
java.lang.String tableName,
java.lang.String columnName,
com.scalar.db.io.DataType columnType)
throws com.scalar.db.exception.storage.ExecutionException
addNewColumnToTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createCoordinatorTables()
throws com.scalar.db.exception.storage.ExecutionException
createCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void createCoordinatorTables(java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void createCoordinatorTables(boolean ifNotExist)
throws com.scalar.db.exception.storage.ExecutionException
createCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void createCoordinatorTables(boolean ifNotExist,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
createCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropCoordinatorTables()
throws com.scalar.db.exception.storage.ExecutionException
dropCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropCoordinatorTables(boolean ifExist)
throws com.scalar.db.exception.storage.ExecutionException
dropCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void truncateCoordinatorTables()
throws com.scalar.db.exception.storage.ExecutionException
truncateCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic boolean coordinatorTablesExist()
throws com.scalar.db.exception.storage.ExecutionException
coordinatorTablesExist in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void repairCoordinatorTables(java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
repairCoordinatorTables in interface com.scalar.db.api.DistributedTransactionAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void importTable(java.lang.String namespace,
java.lang.String table,
java.util.Map<java.lang.String,java.lang.String> options)
throws com.scalar.db.exception.storage.ExecutionException
importTable in interface com.scalar.db.api.Admincom.scalar.db.exception.storage.ExecutionExceptionpublic void createUser(java.lang.String username,
@Nullable
java.lang.String password,
com.scalar.db.api.AuthAdmin.UserOption... userOptions)
throws com.scalar.db.exception.storage.ExecutionException
createUser in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void alterUser(java.lang.String username,
@Nullable
java.lang.String password,
com.scalar.db.api.AuthAdmin.UserOption... userOptions)
throws com.scalar.db.exception.storage.ExecutionException
alterUser in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void dropUser(java.lang.String username)
throws com.scalar.db.exception.storage.ExecutionException
dropUser in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void grant(java.lang.String username,
java.lang.String namespaceName,
com.scalar.db.api.AuthAdmin.Privilege... privileges)
throws com.scalar.db.exception.storage.ExecutionException
grant in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void grant(java.lang.String username,
java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.AuthAdmin.Privilege... privileges)
throws com.scalar.db.exception.storage.ExecutionException
grant in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void revoke(java.lang.String username,
java.lang.String namespaceName,
com.scalar.db.api.AuthAdmin.Privilege... privileges)
throws com.scalar.db.exception.storage.ExecutionException
revoke in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void revoke(java.lang.String username,
java.lang.String namespaceName,
java.lang.String tableName,
com.scalar.db.api.AuthAdmin.Privilege... privileges)
throws com.scalar.db.exception.storage.ExecutionException
revoke in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic java.util.Optional<com.scalar.db.api.AuthAdmin.User> getUser(java.lang.String username)
throws com.scalar.db.exception.storage.ExecutionException
getUser in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic java.util.List<com.scalar.db.api.AuthAdmin.User> getUsers()
throws com.scalar.db.exception.storage.ExecutionException
getUsers in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic java.util.Set<com.scalar.db.api.AuthAdmin.Privilege> getPrivileges(java.lang.String username,
java.lang.String namespaceName)
throws com.scalar.db.exception.storage.ExecutionException
getPrivileges in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic java.util.Set<com.scalar.db.api.AuthAdmin.Privilege> getPrivileges(java.lang.String username,
java.lang.String namespaceName,
java.lang.String tableName)
throws com.scalar.db.exception.storage.ExecutionException
getPrivileges in interface com.scalar.db.api.AuthAdmincom.scalar.db.exception.storage.ExecutionExceptionpublic void close()
close in interface com.scalar.db.api.DistributedTransactionAdmin