org.springframework.jdbc.core.metadata

Interface CallMetaDataProvider

    • Method Detail

      • initializeWithMetaData

        void initializeWithMetaData(java.sql.DatabaseMetaData databaseMetaData)
                             throws java.sql.SQLException
        Initialize using the provided DatabaseMetData.
        Parameters:
        databaseMetaData - used to retrieve database specific information
        Throws:
        java.sql.SQLException - in case of initialization failure
      • initializeWithProcedureColumnMetaData

        void initializeWithProcedureColumnMetaData(java.sql.DatabaseMetaData databaseMetaData,
                                                   @Nullable
                                                   java.lang.String catalogName,
                                                   @Nullable
                                                   java.lang.String schemaName,
                                                   @Nullable
                                                   java.lang.String procedureName)
                                            throws java.sql.SQLException
        Initialize the database specific management of procedure column meta-data. This is only called for databases that are supported. This initialization can be turned off by specifying that column meta-data should not be used.
        Parameters:
        databaseMetaData - used to retrieve database specific information
        catalogName - name of catalog to use (or null if none)
        schemaName - name of schema name to use (or null if none)
        procedureName - name of the stored procedure
        Throws:
        java.sql.SQLException - in case of initialization failure
        See Also:
        SimpleJdbcCall.withoutProcedureColumnMetaDataAccess()
      • procedureNameToUse

        @Nullable
        java.lang.String procedureNameToUse(@Nullable
                                                      java.lang.String procedureName)
        Provide any modification of the procedure name passed in to match the meta-data currently used. This could include altering the case.
      • catalogNameToUse

        @Nullable
        java.lang.String catalogNameToUse(@Nullable
                                                    java.lang.String catalogName)
        Provide any modification of the catalog name passed in to match the meta-data currently used. This could include altering the case.
      • schemaNameToUse

        @Nullable
        java.lang.String schemaNameToUse(@Nullable
                                                   java.lang.String schemaName)
        Provide any modification of the schema name passed in to match the meta-data currently used. This could include altering the case.
      • metaDataCatalogNameToUse

        @Nullable
        java.lang.String metaDataCatalogNameToUse(@Nullable
                                                            java.lang.String catalogName)
        Provide any modification of the catalog 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 catalog if none is provided.
      • metaDataSchemaNameToUse

        @Nullable
        java.lang.String metaDataSchemaNameToUse(@Nullable
                                                           java.lang.String schemaName)
        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.
      • parameterNameToUse

        @Nullable
        java.lang.String parameterNameToUse(@Nullable
                                                      java.lang.String parameterName)
        Provide any modification of the column name passed in to match the meta-data currently used. This could include altering the case.
        Parameters:
        parameterName - name of the parameter of column
      • createDefaultOutParameter

        SqlParameter createDefaultOutParameter(java.lang.String parameterName,
                                               CallParameterMetaData meta)
        Create a default out parameter based on the provided meta-data. This is used when no explicit parameter declaration has been made.
        Parameters:
        parameterName - the name of the parameter
        meta - meta-data used for this call
        Returns:
        the configured SqlOutParameter
      • createDefaultInOutParameter

        SqlParameter createDefaultInOutParameter(java.lang.String parameterName,
                                                 CallParameterMetaData meta)
        Create a default inout parameter based on the provided meta-data. This is used when no explicit parameter declaration has been made.
        Parameters:
        parameterName - the name of the parameter
        meta - meta-data used for this call
        Returns:
        the configured SqlInOutParameter
      • createDefaultInParameter

        SqlParameter createDefaultInParameter(java.lang.String parameterName,
                                              CallParameterMetaData meta)
        Create a default in parameter based on the provided meta-data. This is used when no explicit parameter declaration has been made.
        Parameters:
        parameterName - the name of the parameter
        meta - meta-data used for this call
        Returns:
        the configured SqlParameter
      • getUserName

        @Nullable
        java.lang.String getUserName()
        Get the name of the current user. Useful for meta-data lookups etc.
        Returns:
        current user name from database connection
      • isReturnResultSetSupported

        boolean isReturnResultSetSupported()
        Does this database support returning ResultSets that should be retrieved with the JDBC call: Statement.getResultSet()?
      • isRefCursorSupported

        boolean isRefCursorSupported()
        Does this database support returning ResultSets as ref cursors to be retrieved with CallableStatement.getObject(int) for the specified column.
      • getRefCursorSqlType

        int getRefCursorSqlType()
        Get the Types type for columns that return ResultSets as ref cursors if this feature is supported.
      • isProcedureColumnMetaDataUsed

        boolean isProcedureColumnMetaDataUsed()
        Are we using the meta-data for the procedure columns?
      • byPassReturnParameter

        boolean byPassReturnParameter(java.lang.String parameterName)
        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.
      • isSupportsCatalogsInProcedureCalls

        boolean isSupportsCatalogsInProcedureCalls()
        Does the database support the use of catalog name in procedure calls?
      • isSupportsSchemasInProcedureCalls

        boolean isSupportsSchemasInProcedureCalls()
        Does the database support the use of schema name in procedure calls?