org.springframework.jdbc.core.metadata
Class PostgresCallMetaDataProvider

java.lang.Object
  extended by org.springframework.jdbc.core.metadata.GenericCallMetaDataProvider
      extended by 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
PostgresCallMetaDataProvider(DatabaseMetaData databaseMetaData)
           
 
Method Summary
 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 reyurned value will be used for meta data lookups. This could include alterig the case used or providing a base schema if mone 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