Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.mysql.jdbc
Class RowDataCursor

    java.lang.Object
      com.mysql.jdbc.RowDataCursor

All Implemented Interfaces:
  RowData

    public class RowDataCursor

extends java.lang.Object
implements RowData

Model for result set data backed by a cursor. Only works for forward-only result sets (but still works with updatable concurrency).

Field Summary

Fields inherited from interface com.mysql.jdbc.RowData
`RESULT_SET_SIZE_UNKNOWN`

Constructor Summary
`RowDataCursor(MysqlIO ioChannel, ServerPreparedStatement creatingStatement, Field[] metadata)` Creates a new cursor-backed row provider.

Method Summary
`void` | `addRow(ResultSetRow row)` Adds a row to this row data.
`void` | `afterLast()` Moves to after last.
`void` | `beforeFirst()` Moves to before first.
`void` | `beforeLast()` Moves to before last so next el is the last el.
`void` | `close()` We're done.
`ResultSetRow` | `getAt(int ind)` Only works on non dynamic result sets.
`int` | `getCurrentRowNumber()` Returns the current position in the result set as a row number.
`ResultSetInternalMethods` | `getOwner()` Returns the result set that 'owns' this RowData
`boolean` | `hasNext()` Returns true if another row exists.
`boolean` | `isAfterLast()` Returns true if we got the last element.
`boolean` | `isBeforeFirst()` Returns if iteration has not occured yet.
`boolean` | `isDynamic()` Returns true if the result set is dynamic.
`boolean` | `isEmpty()` Has no records.
`boolean` | `isFirst()` Are we on the first row of the result set?
`boolean` | `isLast()` Are we on the last row of the result set?
`void` | `moveRowRelative(int rows)` Moves the current position relative 'rows' from the current position.
`ResultSetRow` | `next()` Returns the next row.
`void` | `removeRow(int ind)` Removes the row at the given index.
`void` | `setCurrentRow(int rowNumber)` Moves the current position in the result set to the given row number.
`void` | `setMetadata(Field[] metadata)` Sometimes the driver doesn't have metadata until after the statement has the result set in-hand (because it's cached), so it can call this to set it after the fact.
`void` | `setOwner(ResultSetImpl rs)` Set the result set that 'owns' this RowData
`int` | `size()` Only works on non dynamic result sets.
`boolean` | `wasEmpty()` Did this result set have no rows?

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RowDataCursor

    public RowDataCursor(MysqlIO ioChannel,
                         ServerPreparedStatement creatingStatement,
                         Field[] metadata)

  Creates a new cursor-backed row provider.

  Parameters:
    `ioChannel` - connection to the server.
    `creatingStatement` - statement that opened the cursor.
    `metadata` - field-level metadata for the results that this cursor covers.

Method Detail

### isAfterLast

    public boolean isAfterLast()

  Returns true if we got the last element.

  Specified by:
    `isAfterLast` in interface `RowData`
  Returns:
    DOCUMENT ME!

### getAt

    public ResultSetRow getAt(int ind)
                       throws java.sql.SQLException

  Only works on non dynamic result sets.

  Specified by:
    `getAt` in interface `RowData`
  Parameters:
    `index` - row number to get at
  Returns:
    row data at index
  Throws:
    `java.sql.SQLException` - if a database error occurs

### isBeforeFirst

    public boolean isBeforeFirst()
                          throws java.sql.SQLException

  Returns if iteration has not occured yet.

  Specified by:
    `isBeforeFirst` in interface `RowData`
  Returns:
    true if before first row
  Throws:
    `java.sql.SQLException` - if a database error occurs

### setCurrentRow

    public void setCurrentRow(int rowNumber)
                       throws java.sql.SQLException

  Moves the current position in the result set to the given row number.

  Specified by:
    `setCurrentRow` in interface `RowData`
  Parameters:
    `rowNumber` - row to move to
  Throws:
    `java.sql.SQLException` - if a database error occurs

### getCurrentRowNumber

    public int getCurrentRowNumber()
                            throws java.sql.SQLException

  Returns the current position in the result set as a row number.

  Specified by:
    `getCurrentRowNumber` in interface `RowData`
  Returns:
    the current row number
  Throws:
    `java.sql.SQLException` - if a database error occurs

### isDynamic

    public boolean isDynamic()

  Returns true if the result set is dynamic. This means that move back and move forward won't work because we do not hold on to the records.

  Specified by:
    `isDynamic` in interface `RowData`
  Returns:
    true if this result set is streaming from the server

### isEmpty

    public boolean isEmpty()
                    throws java.sql.SQLException

  Has no records.

  Specified by:
    `isEmpty` in interface `RowData`
  Returns:
    true if no records
  Throws:
    `java.sql.SQLException` - if a database error occurs

### isFirst

    public boolean isFirst()
                    throws java.sql.SQLException

  Are we on the first row of the result set?

  Specified by:
    `isFirst` in interface `RowData`
  Returns:
    true if on first row
  Throws:
    `java.sql.SQLException` - if a database error occurs

### isLast

    public boolean isLast()
                   throws java.sql.SQLException

  Are we on the last row of the result set?

  Specified by:
    `isLast` in interface `RowData`
  Returns:
    true if on last row
  Throws:
    `java.sql.SQLException` - if a database error occurs

### addRow

    public void addRow(ResultSetRow row)
                throws java.sql.SQLException

  Adds a row to this row data.

  Specified by:
    `addRow` in interface `RowData`
  Parameters:
    `row` - the row to add
  Throws:
    `java.sql.SQLException` - if a database error occurs

### afterLast

    public void afterLast()
                   throws java.sql.SQLException

  Moves to after last.

  Specified by:
    `afterLast` in interface `RowData`
  Throws:
    `java.sql.SQLException` - if a database error occurs

### beforeFirst

    public void beforeFirst()
                     throws java.sql.SQLException

  Moves to before first.

  Specified by:
    `beforeFirst` in interface `RowData`
  Throws:
    `java.sql.SQLException` - if a database error occurs

### beforeLast

    public void beforeLast()
                    throws java.sql.SQLException

  Moves to before last so next el is the last el.

  Specified by:
    `beforeLast` in interface `RowData`
  Throws:
    `java.sql.SQLException` - if a database error occurs

### close

    public void close()
               throws java.sql.SQLException

  We're done.

  Specified by:
    `close` in interface `RowData`
  Throws:
    `java.sql.SQLException` - if a database error occurs

### hasNext

    public boolean hasNext()
                    throws java.sql.SQLException

  Returns true if another row exists.

  Specified by:
    `hasNext` in interface `RowData`
  Returns:
    true if more rows
  Throws:
    `java.sql.SQLException` - if a database error occurs

### moveRowRelative

    public void moveRowRelative(int rows)
                         throws java.sql.SQLException

  Moves the current position relative 'rows' from the current position.

  Specified by:
    `moveRowRelative` in interface `RowData`
  Parameters:
    `rows` - the relative number of rows to move
  Throws:
    `java.sql.SQLException` - if a database error occurs

### next

    public ResultSetRow next()
                      throws java.sql.SQLException

  Returns the next row.

  Specified by:
    `next` in interface `RowData`
  Returns:
    the next row value
  Throws:
    `java.sql.SQLException` - if a database error occurs

### removeRow

    public void removeRow(int ind)
                   throws java.sql.SQLException

  Removes the row at the given index.

  Specified by:
    `removeRow` in interface `RowData`
  Parameters:
    `index` - the row to move to
  Throws:
    `java.sql.SQLException` - if a database error occurs

### size

    public int size()

  Only works on non dynamic result sets.

  Specified by:
    `size` in interface `RowData`
  Returns:
    the size of this row data

### setOwner

    public void setOwner(ResultSetImpl rs)

  Description copied from interface: `RowData`
  Set the result set that 'owns' this RowData

  Specified by:
    `setOwner` in interface `RowData`
  Parameters:
    `rs` - the result set that 'owns' this RowData

### getOwner

    public ResultSetInternalMethods getOwner()

  Description copied from interface: `RowData`
  Returns the result set that 'owns' this RowData

  Specified by:
    `getOwner` in interface `RowData`

### wasEmpty

    public boolean wasEmpty()

  Description copied from interface: `RowData`
  Did this result set have no rows?

  Specified by:
    `wasEmpty` in interface `RowData`

### setMetadata

    public void setMetadata(Field[] metadata)

  Description copied from interface: `RowData`
  Sometimes the driver doesn't have metadata until after the statement has the result set in-hand (because it's cached), so it can call this to set it after the fact.

  Specified by:
    `setMetadata` in interface `RowData`
  Parameters:
    `metadata` - field-level metadata for the result set

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD