ネームスペースの使用および設定

作成した1つ以上のネームスペースおよびネームスペース内の表は、任意の参照の表名に完全修飾できます。ストアに同じ名前の表がある場合、これらの表はネームスペースによって区別されます。

完全修飾表、またはCLIから子表名を指定する構文を次に示します。
namespace:tablename
namespace:tablename.child1
SELECT文のネームスペースの表を参照するには、次のようにします。
SELECT * FROM ns1:table1;

メソッド実行のネームスペースの設定

ExecuteOptions.setNamespaceメソッドを使用すると、KVStore.execute()メソッドの継続時間のデフォルト・ネームスペースを設定できます。設定中は、表や他のオブジェクト参照を修飾する必要はありません。setNamespaceを使用しないか、表名を完全修飾しない場合、ストアではデフォルトのネームスペースとしてsysdefaultが使用されます。

ExecuteOptions.setNamespace("ns1");
SELECT * FROM table1; 

表のネームスペースの決定

オプション・オブジェクトに設定されたネームスペースを確認するには、ExecuteOptions.getNamespaceメソッドを使用します。

特定のネームスペース内の表の取得

TableAPI.getTable()は、次の2つの引数を指定してコールできます。
TableAPI.getTable(String namespace, String tableFullName); 
この場合、TableAPI.getTableメソッドの最初の引数namespaceは、表を作成したネームスペースです。この引数がNULLの場合、このメソッドはデフォルトのsysdefaultネームスペースを使用します。この例は、次に説明する単一の引数を指定して関数をコールすることと同等です。

2番目の引数tableFullNameは、完全な表名です。このインタフェースは、親表のない最上位レベルの表のみを取得します。子表を取得するには、TableAPI.getChildTable()を使用します。

完全修飾表の取得

TableAPI.getTable()は、次の引数を指定してコールできます。

TableAPI.getTable(String fullNamespaceName); 

fullNamespaceName引数は、ターゲット表の完全名またはネームスペースの修飾名を示します。修飾されていない名前を指定した場合、このメソッドはsysdefaultネームスペースを使用します。接頭辞がネームスペースで、その後にコロンが付いた表名(namespace:)を含むネームスペースを指定する場合、この使用方法はnamespaceを指定したgetTable(String,String)として関数をコールすることと同じになり、前述のTableFullNameと同じです。