Uploaded image for project: 'MariaDB Connector/J'
  1. MariaDB Connector/J
  2. CONJ-418

Implement ResultSet#isAfterLast when flag TYPE_FORWARD_ONLY is on

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.7
    • Fix Version/s: 1.5.8
    • Component/s: Other
    • Labels:
      None

      Description

      Streaming results from database using hibernate fails when ResultSet#isAfterLast is called when there is no more rows to read.

        /**
           * Retrieves whether the cursor is after the last row in
           * this <code>ResultSet</code> object.
           * <p>
           * <strong>Note:</strong>Support for the <code>isAfterLast</code> method
           * is optional for <code>ResultSet</code>s with a result
           * set type of <code>TYPE_FORWARD_ONLY</code>
           *
           * @return <code>true</code> if the cursor is after the last row;
           * <code>false</code> if the cursor is at any other position or the
           * result set contains no rows
           * @exception SQLException if a database access error occurs or this method is
           *            called on a closed result set
           * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
           * this method
           * @since 1.2
           */
          boolean isAfterLast() throws SQLException;
      

      Besides it says it is optional, seems that most used drivers, like mysql, have it working.

      I've attached a piece of code reproducing this case. I have also test it using mysql and h2, and in those cases it works.
      NOTE: you need to define a database hostname, database, user and pass in persistence.xml

        Attachments

          Activity

            People

            Assignee:
            diego dupin Diego Dupin
            Reporter:
            fgaule Federico Gaule
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration