ネームスペースの管理
SHOW NAMESPACES
SHOW NAMESPACES文は、システムのネームスペースのリストを提供します。出力をJSON形式にする場合は、AS JSONを指定できます。
SHOW NAMESPACES
namespaces
sysdefault
SHOW AS JSON NAMESPACES
{"namespaces" : ["sysdefault"]}
DROP NAMESPACE
DROP NAMESPACE文を使用して、ネームスペースを削除できます。
IF EXISTSはオプションの句です。この句を指定し、同じ名前のネームスペースが存在しない場合、エラーは生成されません。この句を指定せず、同じ名前のネームスペースが存在しない場合は、ネームスペースが存在しないことを示すエラーが生成されます。
CASCADEは、表とその索引をこのネームスペース内で削除するかどうかを指定できるオプションの句です。この句を指定し、ネームスペースに表が含まれている場合は、このネームスペース内のすべての表とともにネームスペースが削除されます。この句を指定せず、ネームスペースに表が含まれている場合は、ネームスペースが空でないことを示すエラーが生成されます。
DROP NAMESPACE IF EXISTS ns1 CASCADE
APIの使用によるネームスペースの削除:
SystemRequest
クラスを使用してネームスペースを削除できます。SystemRequest
クラスは、表に依存しない管理操作を実行するために使用します。これらの操作は非同期であり、完了を確認する必要があります。
private static void dropNS(NoSQLHandle handle) throws Exception {
String dropNSDDL = "DROP NAMESPACE " + nsName;
SystemRequest sysreq = new SystemRequest();
sysreq.setStatement(dropNSDDL.toCharArray());
SystemResult sysres = handle.systemRequest(sysreq);
sysres.waitForCompletion(handle, 60000,1000);
System.out.println("Namespace " + nsName + " is dropped");
}
SystemRequest
クラスを使用してネームスペースを削除できます。SystemRequest
クラスは、表に依存しない管理操作を実行するために使用します。
def drop_ns(handle):
statement = '''DROP NAMESPACE ns1'''
sysreq = SystemRequest().set_statement(statement)
sys_result = handle.system_request(sysreq)
sys_result.wait_for_completion(handle, 40000, 3000)
print('Namespace: ns1 is dropped')
SystemRequest
クラスを使用してネームスペースを削除できます。SystemRequest
クラスは、表に依存しない管理操作を実行するために使用します。これらは長時間実行される可能性がある操作であり、操作の完了を確認する必要があります。
func dropNS(client *nosqldb.Client, err error)(){
stmt := fmt.Sprintf("DROP NAMESPACE ns1")
sysReq := &nosqldb.SystemRequest{
Statement: stmt,
}
sysRes, err := client.DoSystemRequest(sysReq)
_, err = sysRes.WaitForCompletion(client, 60*time.Second, time.Second)
if err != nil {
fmt.Printf("Error finishing CREATE NAMESPACE request: %v\n", err)
return
}
fmt.Println("Dropped Namespace ns1 ")
return
}
adminDDL
メソッドを使用してネームスペースを作成できます。adminDDL
メソッドは、表に依存しない管理操作を実行するために使用します。
async function dropNS(handle) {
const dropNS = `DROP NAMESPACE ns1`;
let res = await handle.adminDDL(dropNS);
console.log('Namespace dropped: ns1' );
}
ExecuteAdminSync
メソッドは、表に依存しない管理操作を実行するために使用します。
private static async Task dropNS(NoSQLClient client){
var sql = $@"DROP NAMESPACE ns1";
var adminResult = await client.ExecuteAdminAsync(sql);
// Wait for the operation completion
await adminResult.WaitForCompletionAsync();
Console.WriteLine("Dropped namespace ns1");
}