Package org.apache.tomcat.dbcp.dbcp2

# Class PStmtKey

java.lang.Object
org.apache.tomcat.dbcp.dbcp2.PStmtKey

Direct Known Subclasses:
  `PStmtKeyCPDS`

public class PStmtKey extends Object
A key uniquely identifying `PreparedStatement`s.

Since:
  2.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PStmtKey(String sql)`
  Deprecated.
  Use `PStmtKey(String, String, String)`.
  `PStmtKey(String sql, int resultSetType, int resultSetConcurrency)`
  Deprecated.
  Use `PStmtKey(String, String, String, int, int)`.
  `PStmtKey(String sql, String catalog)`
  Deprecated.
  Use `PStmtKey(String, String, String)`.
  `PStmtKey(String sql, String catalog, int autoGeneratedKeys)`
  Deprecated.
  Use `PStmtKey(String, String, String, int)`.
  `PStmtKey(String sql, String catalog, int[] columnIndexes)`
  Deprecated.
  Use `PStmtKey(String, String, String, int[])`.
  `PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency)`
  Deprecated.
  Use `PStmtKey(String, String, String, int, int)`.
  `PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
  Deprecated.
  Use `PStmtKey(String, String, String, int, int, int)`.
  `PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency, int resultSetHoldability, PoolingConnection.StatementType statementType)`
  Deprecated.
  Use `PStmtKey(String, String, String, int, int, int, PoolingConnection.StatementType)`
  `PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency, PoolingConnection.StatementType statementType)`
  Deprecated.
  Use `PStmtKey(String, String, String, int, int, PoolingConnection.StatementType)`.
  `PStmtKey(String sql, String catalog, String schema)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String[] columnNames)`
  Deprecated.
  Use `PStmtKey(String, String, String, String[])`.
  `PStmtKey(String sql, String catalog, String schema, int autoGeneratedKeys)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, int[] columnIndexes)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency, int resultSetHoldability, PoolingConnection.StatementType statementType)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency, PoolingConnection.StatementType statementType)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, String[] columnNames)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, PoolingConnection.StatementType statementType)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, String schema, PoolingConnection.StatementType statementType, Integer autoGeneratedKeys)`
  Constructs a key to uniquely identify a prepared statement.
  `PStmtKey(String sql, String catalog, PoolingConnection.StatementType statementType)`
  Deprecated.
  Use `PStmtKey(String, String, String, PoolingConnection.StatementType)`.
  `PStmtKey(String sql, String catalog, PoolingConnection.StatementType statementType, Integer autoGeneratedKeys)`
  Deprecated.
  Use `PStmtKey(String, String, String, PoolingConnection.StatementType, Integer)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Statement`
  `createStatement(Connection connection)`
  Creates a new Statement from the given Connection.
  `boolean`
  `equals(Object obj)`
  `Integer`
  `getAutoGeneratedKeys()`
  Gets a flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.
  `String`
  `getCatalog()`
  Gets the catalog.
  `int[]`
  `getColumnIndexes()`
  Gets an array of column indexes indicating the columns that should be returned from the inserted row or rows.
  `String[]`
  `getColumnNames()`
  Gets an array of column names indicating the columns that should be returned from the inserted row or rows.
  `Integer`
  `getResultSetConcurrency()`
  Gets the result set concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
  `Integer`
  `getResultSetHoldability()`
  Gets the result set holdability, one of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
  `Integer`
  `getResultSetType()`
  Gets the result set type, one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `String`
  `getSchema()`
  Gets the schema.
  `String`
  `getSql()`
  Gets the SQL statement.
  `PoolingConnection.StatementType`
  `getStmtType()`
  Gets the SQL statement type.
  `int`
  `hashCode()`
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql)
    Deprecated.
    Use `PStmtKey(String, String, String)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, int resultSetType, int resultSetConcurrency)
    Deprecated.
    Use `PStmtKey(String, String, String, int, int)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog)
    Deprecated.
    Use `PStmtKey(String, String, String)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, int autoGeneratedKeys)
    Deprecated.
    Use `PStmtKey(String, String, String, int)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency)
    Deprecated.
    Use `PStmtKey(String, String, String, int, int)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
    Deprecated.
    Use `PStmtKey(String, String, String, int, int, int)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`
      `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency, int resultSetHoldability, PoolingConnection.StatementType statementType)
    Deprecated.
    Use `PStmtKey(String, String, String, int, int, int, PoolingConnection.StatementType)`
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
      `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
      `statementType` - The SQL statement type, prepared or callable.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, int resultSetType, int resultSetConcurrency, PoolingConnection.StatementType statementType)
    Deprecated.
    Use `PStmtKey(String, String, String, int, int, PoolingConnection.StatementType)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
      `statementType` - The SQL statement type, prepared or callable.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, int[] columnIndexes)
    Deprecated.
    Use `PStmtKey(String, String, String, int[])`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `columnIndexes` - An array of column indexes indicating the columns that should be returned from the inserted row or rows.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, PoolingConnection.StatementType statementType)
    Deprecated.
    Use `PStmtKey(String, String, String, PoolingConnection.StatementType)`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `statementType` - The SQL statement type, prepared or callable.

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, PoolingConnection.StatementType statementType, Integer autoGeneratedKeys)
    Deprecated.
    Use `PStmtKey(String, String, String, PoolingConnection.StatementType, Integer)`
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `statementType` - The SQL statement type, prepared or callable.
      `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema
    Since:
      2.5.0

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, int autoGeneratedKeys)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema
      `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.
    Since:
      2.5.0

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema
      `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema
      `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`
      `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
    Since:
      2.5.0

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency, int resultSetHoldability, PoolingConnection.StatementType statementType)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema.
      `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
      `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
      `statementType` - The SQL statement type, prepared or callable.
    Since:
      2.5.0

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, int resultSetType, int resultSetConcurrency, PoolingConnection.StatementType statementType)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema.
      `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
      `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
      `statementType` - The SQL statement type, prepared or callable.
    Since:
      2.5.0

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, int[] columnIndexes)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema.
      `columnIndexes` - An array of column indexes indicating the columns that should be returned from the inserted row or rows.

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, PoolingConnection.StatementType statementType)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema.
      `statementType` - The SQL statement type, prepared or callable.
    Since:
      2.5.0

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, PoolingConnection.StatementType statementType, Integer autoGeneratedKeys)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema.
      `statementType` - The SQL statement type, prepared or callable.
      `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.
    Since:
      2.5.0

  - ### PStmtKey

    public PStmtKey(String sql, String catalog, String schema, String[] columnNames)
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `schema` - The schema.
      `columnNames` - An array of column names indicating the columns that should be returned from the inserted row or rows.
    Since:
      2.5.0

  - ### PStmtKey

    @Deprecated public PStmtKey(String sql, String catalog, String[] columnNames)
    Deprecated.
    Use `PStmtKey(String, String, String, String[])`.
    Constructs a key to uniquely identify a prepared statement.
    Parameters:
      `sql` - The SQL statement.
      `catalog` - The catalog.
      `columnNames` - An array of column names indicating the columns that should be returned from the inserted row or rows.

- ## Method Details

  - ### createStatement

    public Statement createStatement(Connection connection) throws SQLException
    Creates a new Statement from the given Connection.
    Parameters:
      `connection` - The Connection to use to create the statement.
    Returns:
      The statement.
    Throws:
      `SQLException` - Thrown when there is a problem creating the statement.

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### getAutoGeneratedKeys

    public Integer getAutoGeneratedKeys()
    Gets a flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.
    Returns:
      a flag indicating whether auto-generated keys should be returned.

  - ### getCatalog

    public String getCatalog()
    Gets the catalog.
    Returns:
      The catalog.

  - ### getColumnIndexes

    public int[] getColumnIndexes()
    Gets an array of column indexes indicating the columns that should be returned from the inserted row or rows.
    Returns:
      An array of column indexes.

  - ### getColumnNames

    public String[] getColumnNames()
    Gets an array of column names indicating the columns that should be returned from the inserted row or rows.
    Returns:
      An array of column names.

  - ### getResultSetConcurrency

    public Integer getResultSetConcurrency()
    Gets the result set concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
    Returns:
      The result set concurrency type.

  - ### getResultSetHoldability

    public Integer getResultSetHoldability()
    Gets the result set holdability, one of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
    Returns:
      The result set holdability.

  - ### getResultSetType

    public Integer getResultSetType()
    Gets the result set type, one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
    Returns:
      the result set type.

  - ### getSchema

    public String getSchema()
    Gets the schema.
    Returns:
      The catalog.

  - ### getSql

    public String getSql()
    Gets the SQL statement.
    Returns:
      the SQL statement.

  - ### getStmtType

    public PoolingConnection.StatementType getStmtType()
    Gets the SQL statement type.
    Returns:
      The SQL statement type.

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`