メタデータへのアクセス
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操作にはメタデータがありません。