java.lang.Iterable<RecordValue>public interface StatementResult extends java.lang.Iterable<RecordValue>
ExecutionFuture.updateStatus(), it can
represent information about either a completed or in progress operation. If
obtained via ExecutionFuture.get() or KVStore.executeSync(java.lang.String), it
represents the final status of a finished operation.| Modifier and Type | Interface | Description |
|---|---|---|
static class |
StatementResult.Kind |
Shows the kind of StatementResult.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
close() |
Closes the result including the iterator and releases all the resources
related to this result.
|
java.lang.String |
getErrorMessage() |
If
isSuccessful() is false, return a description of the
problem. |
java.lang.String |
getInfo() |
Returns information about the execution of the statement, in human
readable form.
|
java.lang.String |
getInfoAsJson() |
Returns the same information as
getInfo(), in JSON format. |
StatementResult.Kind |
getKind() |
Returns the Kind of StatementResult.
|
int |
getPlanId() |
Returns the administrative plan id for this operation if the statement
was a DDL statement: create or remove table, a create or remove index,
or an alter index.
|
java.lang.String |
getResult() |
Returns the output of a DDL statement that generates results, such as
SHOW TABLES, SHOW AS JSON TABLES, DESCRIBE TABLE, or DESCRIBE AS JSON
TABLE.
|
RecordDef |
getResultDef() |
Returns the definition of the result of this statement if the
statement is a query, otherwise null.
|
boolean |
isCancelled() |
Returns true if the statement had been cancelled.
|
boolean |
isDone() |
Returns true if the statement completed.
|
boolean |
isSuccessful() |
Returns true if this statement has finished and was successful.
|
TableIterator<RecordValue> |
iterator() |
Returns a TableIterator over the records in this result.
|
int getPlanId()
The plan id will be 0 if this statement was not an administrative operation, or did not require execution.
java.lang.String getInfo()
java.lang.String getInfoAsJson()
getInfo(), in JSON format.
Several possible formats are returned, depending on the statement. The
format of a data definition command which requires server side
processing is as follows:
{
"version" : "2",
"planInfo" : {
"id" : 6,
"name" : "CreateIndex:users:LastName",
"isDone" : true,
"state" : "SUCCEEDED",
"start" : "2014-10-29 18:41:12 UTC",
"interrupted" : null,
"end" : "2014-10-29 18:41:12 UTC",
"error" : null,
"executionDetails" : {
"taskCounts" : {
"total" : 3,
"successful" : 3,
"failed" : 0,
"interrupted" : 0,
"incomplete" : 0,
"notStarted" : 0
},
"finished" : [ {
"taskNum" : 1,
"name" : "StartAddIndex:users:LastName",
"state" : "SUCCEEDED",
"start" : "2014-10-29 18:41:12 UTC",
"end" : "2014-10-29 18:41:12 UTC"
}, {
"taskNum" : 2,
"name" : "WaitForAddIndex:users:LastName",
"state" : "SUCCEEDED",
"start" : "2014-10-29 18:41:12 UTC",
"end" : "2014-10-29 18:41:12 UTC"
}, {
"taskNum" : 3,
"name" : "CompleteAddIndex:users:LastName",
"state" : "SUCCEEDED",
"start" : "2014-10-29 18:41:12 UTC",
"end" : "2014-10-29 18:41:12 UTC"
} ],
"running" : [ ],
"pending" : [ ]
}
}
}
For data manipulation commands it will return null.java.lang.String getErrorMessage()
isSuccessful() is false, return a description of the
problem. Will be null if isSuccessful() is true.boolean isSuccessful()
boolean isDone()
ExecutionFuture.isDone(). For QUERY statements this
indicates if the iterator is depleted.boolean isCancelled()
ExecutionFuture.isCancelled()ExecutionFuture.cancel(boolean)java.lang.String getResult()
{
"type" : "table",
"name" : "users",
"comment" : null,
"shardKey" : [ "id" ],
"primaryKey" : [ "id" ],
"fields" : [ {
"name" : "id",
"type" : "INTEGER",
"nullable" : true,
"default" : null
}, {
"name" : "firstName",
"type" : "STRING",
"nullable" : true,
"default" : null
}, {
"name" : "lastName",
"type" : "STRING",
"nullable" : true,
"default" : null
}, {
"name" : "age",
"type" : "INTEGER",
"nullable" : true,
"default" : null
} ],
"indexes" : [ {
"name" : "LastName",
"comment" : null,
"fields" : [ "lastName" ]
} ]
}
}
The output of a SHOW AS JSON TABLES command is:
{"tables" : ["users"]}
Returns null in the case of a DML statement.
StatementResult.Kind getKind()
TableIterator<RecordValue> iterator() throws java.lang.IllegalStateException
Returns a TableIterator over the records in this result. If the statement is DDL, an iterator with an empty result will be returned.
close() will close this iterator, any
subsequent calls to hasNext() will return false and any calls to next()
will throw a java.util.IllegalStateException.
Note: Multiple calls to this method will return the same iterator object.
iterator in interface java.lang.Iterable<RecordValue>java.lang.IllegalStateException - if the result is closed.void close()
getResultDef()
will trigger an IllegalStateException.
Applications should discard all references to this object after it has
been closed.
When a StatementResult is closed, any metadata
instances that were created by calling the getResultDef()
method remain accessible.RecordDef getResultDef() throws java.lang.IllegalStateException, FaultException
java.lang.IllegalStateException - if the result is closed.FaultException - if the operation cannot be completed for any
reasonCopyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.