Class AbstractRDBMSQueryResult<E>

  • All Implemented Interfaces:
    Serializable, Iterable<E>, Collection<E>, List<E>, org.datanucleus.store.query.QueryResult<E>
    Direct Known Subclasses:
    ForwardQueryResult, ScrollableQueryResult

    public abstract class AbstractRDBMSQueryResult<E>
    extends org.datanucleus.store.query.AbstractQueryResult<E>
    Abstract representation of a QueryResult for RDBMS queries. Based on the assumption that we have a JDBC ResultSet, and we are extracting the results using a ResultObjectFactory.
    See Also:
    Serialized Form
    • Field Detail

      • rs

        protected ResultSet rs
        The ResultSet containing the results.
      • rof

        protected ResultObjectFactory<E> rof
        ResultObjectFactory for converting the result set into objects.
      • fp

        protected org.datanucleus.FetchPlan fp
      • bulkLoadedValueByMemberNumber

        protected Map<Object,​Map<Integer,​Object>> bulkLoadedValueByMemberNumber
        Map of field values, keyed by the "id" of the object. The value is a "Map<fieldNumber, fieldValue>".
      • closeStatementWithResultSet

        protected boolean closeStatementWithResultSet
        Default to closing the statement when closing the resultSet, but allow override.
    • Constructor Detail

      • AbstractRDBMSQueryResult

        public AbstractRDBMSQueryResult​(org.datanucleus.store.query.Query query,
                                        ResultObjectFactory<E> rof,
                                        ResultSet rs,
                                        org.datanucleus.FetchPlan fp)
        Constructor of the result from a Query.
        Parameters:
        query - The Query
        rof - The factory to retrieve results from
        rs - The ResultSet from the Query Statement
        fp - FetchPlan
    • Method Detail

      • setCloseStatementWithResultSet

        public void setCloseStatementWithResultSet​(boolean flag)
      • disconnect

        public void disconnect()
        Method to disconnect the results from the ExecutionContext, meaning that thereafter it just behaves like a List. All remaining results are read in at this point (unless selected not to be).
        Specified by:
        disconnect in interface org.datanucleus.store.query.QueryResult<E>
        Overrides:
        disconnect in class org.datanucleus.store.query.AbstractQueryResult<E>
      • close

        public void close()
        Method to close the results, meaning that they are inaccessible after this point.
        Specified by:
        close in interface org.datanucleus.store.query.QueryResult<E>
        Overrides:
        close in class org.datanucleus.store.query.AbstractQueryResult<E>
      • closeResults

        protected void closeResults()
        Internal method to close the ResultSet.
        Specified by:
        closeResults in class org.datanucleus.store.query.AbstractQueryResult<E>
      • equals

        public boolean equals​(Object o)
        Specified by:
        equals in interface Collection<E>
        Specified by:
        equals in interface List<E>
        Specified by:
        equals in class org.datanucleus.store.query.AbstractQueryResult<E>
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface Collection<E>
        Specified by:
        hashCode in interface List<E>
        Overrides:
        hashCode in class org.datanucleus.store.query.AbstractQueryResult<E>