Class JDBC4DatabaseMetaDataUsingInfoSchema

All Implemented Interfaces:
DatabaseMetaData, Wrapper

public class JDBC4DatabaseMetaDataUsingInfoSchema extends DatabaseMetaDataUsingInfoSchema
  • Constructor Details

  • Method Details

    • getRowIdLifetime

      public RowIdLifetime getRowIdLifetime() throws SQLException
      Throws:
      SQLException
    • isWrapperFor

      public boolean isWrapperFor(Class<?> iface) throws SQLException
      Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling isWrapperFor on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to unwrap so that callers can use this method to avoid expensive unwrap calls that may fail. If this method returns true then calling unwrap with the same argument should succeed.
      Parameters:
      interfaces - a Class defining an interface.
      Returns:
      true if this implements the interface or directly or indirectly wraps an object that does.
      Throws:
      SQLException - if an error occurs while determining whether this is a wrapper for an object with the given interface.
      Since:
      1.6
    • unwrap

      public <T> T unwrap(Class<T> iface) throws SQLException
      Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. The result may be either the object found to implement the interface or a proxy for that object. If the receiver implements the interface then that is the object. If the receiver is a wrapper and the wrapped object implements the interface then that is the object. Otherwise the object is the result of calling unwrap recursively on the wrapped object. If the receiver is not a wrapper and does not implement the interface, then an SQLException is thrown.
      Parameters:
      iface - A Class defining an interface that the result must implement.
      Returns:
      an object that implements the interface. May be a proxy for the actual implementing object.
      Throws:
      SQLException - If no object found that implements the interface
      Since:
      1.6
    • getProcedureColumnsNoISParametersView

      protected ResultSet getProcedureColumnsNoISParametersView(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException
      Redirects to another implementation of #getProcedureColumns. Overrides DatabaseMetaDataUsingInfoSchema#getProcedureColumnsNoISParametersView.
      Overrides:
      getProcedureColumnsNoISParametersView in class DatabaseMetaDataUsingInfoSchema
      Throws:
      SQLException
      See Also:
    • getRoutineTypeConditionForGetProcedures

      protected String getRoutineTypeConditionForGetProcedures()
      Returns a condition to be injected in the query that returns metadata for procedures only. Overrides DatabaseMetaDataUsingInfoSchema#injectRoutineTypeConditionForGetProcedures. When not empty must end with "AND ".
      Overrides:
      getRoutineTypeConditionForGetProcedures in class DatabaseMetaDataUsingInfoSchema
      Returns:
      String with the condition to be injected.
    • getRoutineTypeConditionForGetProcedureColumns

      protected String getRoutineTypeConditionForGetProcedureColumns()
      Returns a condition to be injected in the query that returns metadata for procedure columns only. Overrides DatabaseMetaDataUsingInfoSchema#injectRoutineTypeConditionForGetProcedureColumns. When not empty must end with "AND ".
      Overrides:
      getRoutineTypeConditionForGetProcedureColumns in class DatabaseMetaDataUsingInfoSchema
      Returns:
      String with the condition to be injected.
    • getJDBC4FunctionConstant

      protected int getJDBC4FunctionConstant(DatabaseMetaDataUsingInfoSchema.JDBC4FunctionConstant constant)
      Overrides DatabaseMetaDataUsingInfoSchema#getJDBC4FunctionConstant.
      Overrides:
      getJDBC4FunctionConstant in class DatabaseMetaDataUsingInfoSchema
      Parameters:
      constant - the constant id from DatabaseMetaData fields to return.
      Returns:
      one of the java.sql.DatabaseMetaData#function* fields.
    • getJDBC4FunctionNoTableConstant

      protected int getJDBC4FunctionNoTableConstant()
      Overrides DatabaseMetaDataUsingInfoSchema#getJDBC4FunctionNoTableConstant.
      Overrides:
      getJDBC4FunctionNoTableConstant in class DatabaseMetaDataUsingInfoSchema
      Returns:
      java.sql.DatabaseMetaData#functionNoTable.
    • getColumnType

      protected int getColumnType(boolean isOutParam, boolean isInParam, boolean isReturnParam, boolean forGetFunctionColumns)
      Overrides DatabaseMetaData#getColumnType(boolean, boolean, boolean, boolean).
      Overrides:
      getColumnType in class DatabaseMetaData
      Parameters:
      isOutParam - Indicates whether it's an output parameter.
      isInParam - Indicates whether it's an input parameter.
      isReturnParam - Indicates whether it's a function return parameter.
      forGetFunctionColumns - Indicates whether the column belong to a function. This argument is required for JDBC4, in which case this method must be overridden to provide the correct functionality.
      Returns:
      The corresponding COLUMN_TYPE as in java.sql.getProcedureColumns API.
      See Also: