Interface QueryResult

All Known Subinterfaces:
ResultIterator<T>
All Known Implementing Classes:
ConnectionAwareResultIterator, DistinctResultIterator, LimitResultIterator, OutParametersResult, RSIterator, SelectResult, UpdateResult

public sealed interface QueryResult permits SelectResult<T>, UpdateResult, ResultIterator<T>, OutParametersResult
A single item of a multipart query result. QueryResults are returned as a list from ObjectContext.execute(Query). The goal is to expose a specific combination of ResultSets, update counts and procedure OUT parameters produced by a JDBC statement. The user can process each QueryResult like this:
for (QueryResult item : SQLExec.query(sql).execute(context)) {
    switch (item) {
        case SelectResult<?> select -> process(select.objects());
        case UpdateResult update -> process(update.counts());
        case ResultIterator<?> iterator -> process(iterator);
        case OutParametersResult out -> process(out.values());
    }
}