メタデータへのアクセス

getResultDef()メソッドを使用して、BoundStatement、PreparedStatementまたはStatementResultのメタデータにアクセスできます。

また、getFields().size()getFieldsName()およびgetField() RecordDefメソッドを使用して、フィールド数、フィールド名およびフィールドの型をそれぞれ取得できます。

次に例を示します。

// store handle creation omitted.

...

// Access metadata on PreparedStatement or BoundStatement
PreparedStatement pStmt = store.prepare(
   "DECLARE $minAge integer; $maxAge integer;  " +
   "SELECT id, firstName FROM users WHERE age >= $minAge
   and age < $maxAge ");

RecordDef recodDef = pStmt.getResultDef();
int noOfFields = recodDef.getFields().size();
String fieldName = recodDef.getFieldName(0);  // fieldName is "$minAge";
FieldDef fieldType = recodDef.getField(0);    // feldType is IntegerDef


// Access metadata on StatementResult
StatementResult result = store.executeSync("SELECT * FROM Users WHERE
(age > 18 and age < 30)");

recordDef = result.getResultDef(); 

注意:

DDL操作にはメタデータがありません。