org.springframework.jdbc.core.metadata

## Class PostgresCallMetaDataProvider

- java.lang.Object
- - org.springframework.jdbc.core.metadata.GenericCallMetaDataProvider
  - - org.springframework.jdbc.core.metadata.PostgresCallMetaDataProvider

- All Implemented Interfaces:
    CallMetaDataProvider

      public class PostgresCallMetaDataProvider
      extends GenericCallMetaDataProvider

  Oracle specific implementation for the `CallMetaDataProvider` interface. This class is intended for internal use by the Simple JDBC classes.
  Since:
    2.5
  Author:
    Thomas Risberg

- - ### Field Summary

    - ### Fields inherited from class org.springframework.jdbc.core.metadata.GenericCallMetaDataProvider

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PostgresCallMetaDataProvider(DatabaseMetaData databaseMetaData)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `byPassReturnParameter(String parameterName)` Should we bypass the return parameter with the specified name.
    `SqlParameter` | `createDefaultOutParameter(String parameterName, CallParameterMetaData meta)` Create a default out parameter based on the provided meta data.
    `int` | `getRefCursorSqlType()` Get the `Types` type for columns that return resultsets as ref cursors if this feature is supported.
    `boolean` | `isRefCursorSupported()` Does this database support returning resultsets as ref cursors to be retrieved with `CallableStatement.getObject(int)` for the specified column.
    `boolean` | `isReturnResultSetSupported()` Does this database support returning resultsets that should be retrieved with the JDBC call `Statement.getResultSet()`
    `String` | `metaDataSchemaNameToUse(String schemaName)` Provide any modification of the schema name passed in to match the meta data currently used.

    - ### Methods inherited from class org.springframework.jdbc.core.metadata.GenericCallMetaDataProvider

      `catalogNameToUse, createDefaultInOutParameter, createDefaultInParameter, getCallParameterMetaData, getUserName, initializeWithMetaData, initializeWithProcedureColumnMetaData, isProcedureColumnMetaDataUsed, isStoresLowerCaseIdentifiers, isStoresUpperCaseIdentifiers, isSupportsCatalogsInProcedureCalls, isSupportsSchemasInProcedureCalls, metaDataCatalogNameToUse, parameterNameToUse, procedureNameToUse, schemaNameToUse, setStoresLowerCaseIdentifiers, setStoresUpperCaseIdentifiers, setSupportsCatalogsInProcedureCalls, setSupportsSchemasInProcedureCalls`

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

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

- - ### Constructor Detail

    - #### PostgresCallMetaDataProvider

          public PostgresCallMetaDataProvider(DatabaseMetaData databaseMetaData)
                                       throws SQLException

      Throws:
        `SQLException`

  - ### Method Detail

    - #### isReturnResultSetSupported

          public boolean isReturnResultSetSupported()

      Description copied from interface: `CallMetaDataProvider`
      Does this database support returning resultsets that should be retrieved with the JDBC call `Statement.getResultSet()`
      Specified by:
        `isReturnResultSetSupported` in interface `CallMetaDataProvider`
      Overrides:
        `isReturnResultSetSupported` in class `GenericCallMetaDataProvider`

    - #### isRefCursorSupported

          public boolean isRefCursorSupported()

      Description copied from interface: `CallMetaDataProvider`
      Does this database support returning resultsets as ref cursors to be retrieved with `CallableStatement.getObject(int)` for the specified column.
      Specified by:
        `isRefCursorSupported` in interface `CallMetaDataProvider`
      Overrides:
        `isRefCursorSupported` in class `GenericCallMetaDataProvider`

    - #### getRefCursorSqlType

          public int getRefCursorSqlType()

      Description copied from interface: `CallMetaDataProvider`
      Get the `Types` type for columns that return resultsets as ref cursors if this feature is supported.
      Specified by:
        `getRefCursorSqlType` in interface `CallMetaDataProvider`
      Overrides:
        `getRefCursorSqlType` in class `GenericCallMetaDataProvider`

    - #### metaDataSchemaNameToUse

          public String metaDataSchemaNameToUse(String schemaName)

      Description copied from interface: `CallMetaDataProvider`
      Provide any modification of the schema name passed in to match the meta data currently used. The returned value will be used for meta data lookups. This could include altering the case used or providing a base schema if none is provided.
      Specified by:
        `metaDataSchemaNameToUse` in interface `CallMetaDataProvider`
      Overrides:
        `metaDataSchemaNameToUse` in class `GenericCallMetaDataProvider`

    - #### createDefaultOutParameter

          public SqlParameter createDefaultOutParameter(String parameterName,
                                               CallParameterMetaData meta)

      Description copied from interface: `CallMetaDataProvider`
      Create a default out parameter based on the provided meta data. This is used when no explicit parameter declaration has been made.
      Specified by:
        `createDefaultOutParameter` in interface `CallMetaDataProvider`
      Overrides:
        `createDefaultOutParameter` in class `GenericCallMetaDataProvider`
      Parameters:
        `parameterName` - the name of the parameter
        `meta` - meta data used for this call
      Returns:
        the configured SqlOutParameter

    - #### byPassReturnParameter

          public boolean byPassReturnParameter(String parameterName)

      Description copied from interface: `CallMetaDataProvider`
      Should we bypass the return parameter with the specified name. This allows the database specific implementation to skip the processing for specific results returned by the database call.
      Specified by:
        `byPassReturnParameter` in interface `CallMetaDataProvider`
      Overrides:
        `byPassReturnParameter` in class `GenericCallMetaDataProvider`