簡単な問合せの実行

問合せを実行する前に、KVStoreFactory.getStore()メソッドおよびKVStoreConfigオブジェクトを使用してKVStoreハンドルを取得し、ストアのアクセスを通常どおりに実行します。

問合せを作成するには、KVStore.executeSync()を使用します。これにより、文の実行結果を表すStatementResultインスタンスが返されます。結果には、DDL文の結果とDML文の結果の2種類があります。DDL文はデータベース・スキーマを変更します。DDL文の例として、CREATE TABLEALTER TABLEおよびDROP TABLEがあります。DDL文はデータ・レコードを返しません。したがって、iterator()next()は、結果が空だった場合と同様に返されます。

DML文は更新されない問合せです。DML文の例として、SQL SELECT-FROM-WHERE(SFW)文があげられます。DML文にはレコードのセットが含まれる場合があります。StatementResultのオブジェクトは、複数のスレッドにわたって使用することを想定していません。

たとえば、次のようにして簡単な問合せを実行します。

// Setup Store
String[] hhosts = {"n1.example.org:5088", "n2.example.org:4129"};
KVStoreConfig kconfig = new KVStoreConfig("exampleStore", hhosts);
KVStore store = KVStoreFactory.getStore(kconfig);

// Compile and Execute the SELECT statement
StatementResult result = store.executeSync("SELECT firstName,
age FROM Users");

// Get the results
for( RecordValue record : result ) {
     System.out.println("nameFirst: " +
     record.get("firstName").asString().get());
     System.out.println("age: " +
     record.get("age").asInteger().get());
} 

この場合、問合せは、表Usersからfirstnameとageを選択します。その後、結果が表示されます。