ネームスペースの使用および設定
作成した1つ以上のネームスペースおよびネームスペース内の表は、任意の参照の表名に完全修飾できます。ストアに同じ名前の表がある場合、これらの表はネームスペースによって区別されます。
namespace:tablename
namespace:tablename.child1
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と同じです。