Interface TypeInfo

All Known Implementing Classes:
TypeInfoCache

public interface TypeInfo
  • Method Details

    • addCoreType

      void addCoreType(String pgTypeName, Integer oid, Integer sqlType, String javaClass, Integer arrayOid)
    • addDataType

      void addDataType(String type, Class<? extends PGobject> klass) throws SQLException
      Throws:
      SQLException
    • getSQLType

      int getSQLType(int oid) throws SQLException
      Look up the SQL typecode for a given type oid.
      Parameters:
      oid - the type's OID
      Returns:
      the SQL type code (a constant from Types) for the type
      Throws:
      SQLException - if an error occurs when retrieving sql type
    • getSQLType

      int getSQLType(String pgTypeName) throws SQLException
      Look up the SQL typecode for a given postgresql type name.
      Parameters:
      pgTypeName - the server type name to look up
      Returns:
      the SQL type code (a constant from Types) for the type
      Throws:
      SQLException - if an error occurs when retrieving sql type
    • getPGType

      int getPGType(String pgTypeName) throws SQLException
      Look up the oid for a given postgresql type name. This is the inverse of getPGType(int).
      Parameters:
      pgTypeName - the server type name to look up
      Returns:
      the type's OID, or 0 if unknown
      Throws:
      SQLException - if an error occurs when retrieving PG type
    • getPGType

      String getPGType(int oid) throws SQLException
      Look up the postgresql type name for a given oid. This is the inverse of getPGType(String).
      Parameters:
      oid - the type's OID
      Returns:
      the server type name for that OID or null if unknown
      Throws:
      SQLException - if an error occurs when retrieving PG type
    • getPGArrayElement

      int getPGArrayElement(int oid) throws SQLException
      Look up the oid of an array's base type given the array's type oid.
      Parameters:
      oid - the array type's OID
      Returns:
      the base type's OID, or 0 if unknown
      Throws:
      SQLException - if an error occurs when retrieving array element
    • getPGArrayType

      int getPGArrayType(String elementTypeName) throws SQLException
      Determine the oid of the given base postgresql type's array type.
      Parameters:
      elementTypeName - the base type's
      Returns:
      the array type's OID, or 0 if unknown
      Throws:
      SQLException - if an error occurs when retrieving array type
    • getArrayDelimiter

      char getArrayDelimiter(int oid) throws SQLException
      Determine the delimiter for the elements of the given array type oid.
      Parameters:
      oid - the array type's OID
      Returns:
      the base type's array type delimiter
      Throws:
      SQLException - if an error occurs when retrieving array delimiter
    • getPGTypeNamesWithSQLTypes

      Iterator<String> getPGTypeNamesWithSQLTypes()
    • getPGobject

      Class<? extends PGobject> getPGobject(String type)
    • getJavaClass

      String getJavaClass(int oid) throws SQLException
      Throws:
      SQLException
    • getTypeForAlias

      String getTypeForAlias(String alias)
    • getPrecision

      int getPrecision(int oid, int typmod)
    • getScale

      int getScale(int oid, int typmod)
    • isCaseSensitive

      boolean isCaseSensitive(int oid)
    • isSigned

      boolean isSigned(int oid)
    • getDisplaySize

      int getDisplaySize(int oid, int typmod)
    • getMaximumPrecision

      int getMaximumPrecision(int oid)
    • requiresQuoting

      boolean requiresQuoting(int oid) throws SQLException
      Throws:
      SQLException
    • requiresQuotingSqlType

      boolean requiresQuotingSqlType(int sqlType) throws SQLException
      Returns true if particular sqlType requires quoting. This method is used internally by the driver, so it might disappear without notice.
      Parameters:
      sqlType - sql type as in java.sql.Types
      Returns:
      true if the type requires quoting
      Throws:
      SQLException - if something goes wrong