Class GetProcedureColumns

java.lang.Object
org.apache.derby.vti.VTITemplate
org.apache.derby.catalog.GetProcedureColumns
All Implemented Interfaces:
AutoCloseable, ResultSet, Wrapper, AwareVTI

public class GetProcedureColumns extends VTITemplate

Use of VirtualTableInterface to provide support for DatabaseMetaData.getProcedureColumns().

This class is called from a Query constructed in java/org.apache.derby.impl.jdbc/metadata.properties:



    

The VTI will return columns 3-14, an extra column to the specification METHOD_ID is returned to distinguish between overloaded methods.

  1. PROCEDURE_CAT String => procedure catalog (may be null)
  2. PROCEDURE_SCHEM String => procedure schema (may be null)
  3. PROCEDURE_NAME String => procedure name
  4. COLUMN_NAME String => column/parameter name
  5. COLUMN_TYPE Short => kind of column/parameter:
    • procedureColumnUnknown - nobody knows
    • procedureColumnIn - IN parameter
    • procedureColumnInOut - INOUT parameter
    • procedureColumnOut - OUT parameter
    • procedureColumnReturn - procedure return value
    • procedureColumnResult - result column in ResultSet
  6. DATA_TYPE int => SQL type from java.sql.Types
  7. TYPE_NAME String => SQL type name, for a UDT type the type name is fully qualified
  8. PRECISION int => precision
  9. LENGTH int => length in bytes of data
  10. SCALE short => scale
  11. RADIX short => radix
  12. NULLABLE short => can it contain NULL?
    • procedureNoNulls - does not allow NULL values
    • procedureNullable - allows NULL values
    • procedureNullableUnknown - nullability unknown
  13. REMARKS String => comment describing parameter/column
  14. METHOD_ID Short => Derby extra column (overloading)
  15. PARAMETER_ID Short => Derby extra column (output order)