# Class BaseSQLAction

java.lang.Object
org.apache.cayenne.access.jdbc.BaseSQLAction

All Implemented Interfaces:
  `SQLAction`

Direct Known Subclasses:
  `BatchAction, EJBQLAction, ProcedureAction, SelectAction`

public abstract class BaseSQLAction extends Object implements SQLAction
A convenience superclass for SQLAction implementations.

Since:
  1.2

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected DataNode`
  `dataNode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BaseSQLAction(DataNode dataNode)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected int`
  `getInMemoryOffset(int queryOffset)`
  Returns a value of the offset that will be used to rewind the ResultSet within the SQL action before reading the result rows.
  `protected void`
  `readResultSet(ResultSet resultSet, RSColumn[] columns, Query query, OperationObserver delegate)`
  Helper method to process a ResultSet.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface SQLAction

  `performAction`

- ## Field Details

  - ### dataNode

    protected DataNode dataNode

- ## Constructor Details

  - ### BaseSQLAction

    public BaseSQLAction(DataNode dataNode)
    Since:
      4.0

- ## Method Details

  - ### readResultSet

    protected void readResultSet(ResultSet resultSet, RSColumn[] columns, Query query, OperationObserver delegate) throws Exception
    Helper method to process a ResultSet.
    Throws:
      `Exception`

  - ### getInMemoryOffset

    protected int getInMemoryOffset(int queryOffset)
    Returns a value of the offset that will be used to rewind the ResultSet within the SQL action before reading the result rows. The default implementation returns 'queryOffset' argument. If the adapter supports setting offset at the SQL level, this method must be overridden to return zero to suppress manual offset.
    Since:
      3.0