public interface TypeInfo
Modifier and Type | Method and Description |
---|---|
void |
addCoreType(String pgTypeName,
Integer oid,
Integer sqlType,
String javaClass,
Integer arrayOid) |
void |
addDataType(String type,
Class<? extends PGobject> klass) |
char |
getArrayDelimiter(int oid)
Determine the delimiter for the elements of the given array type oid.
|
int |
getDisplaySize(int oid,
int typmod) |
String |
getJavaClass(int oid) |
int |
getMaximumPrecision(int oid) |
int |
getPGArrayElement(int oid)
Look up the oid of an array's base type given the array's type oid.
|
int |
getPGArrayType(String elementTypeName)
Determine the oid of the given base postgresql type's array type.
|
@Nullable Class<? extends PGobject> |
getPGobject(String type) |
@Nullable String |
getPGType(int oid)
Look up the postgresql type name for a given oid.
|
int |
getPGType(String pgTypeName)
Look up the oid for a given postgresql type name.
|
Iterator<String> |
getPGTypeNamesWithSQLTypes() |
Iterator<Integer> |
getPGTypeOidsWithSQLTypes() |
int |
getPrecision(int oid,
int typmod) |
int |
getScale(int oid,
int typmod) |
int |
getSQLType(int oid)
Look up the SQL typecode for a given type oid.
|
int |
getSQLType(String pgTypeName)
Look up the SQL typecode for a given postgresql type name.
|
@Nullable String |
getTypeForAlias(String alias) |
long |
intOidToLong(int oid)
Java Integers are signed 32-bit integers, but oids are unsigned 32-bit integers.
|
boolean |
isCaseSensitive(int oid) |
boolean |
isSigned(int oid) |
int |
longOidToInt(long oid)
Java Integers are signed 32-bit integers, but oids are unsigned 32-bit integers.
|
boolean |
requiresQuoting(int oid) |
boolean |
requiresQuotingSqlType(int sqlType)
Returns true if particular sqlType requires quoting.
|
void addCoreType(String pgTypeName, Integer oid, Integer sqlType, String javaClass, Integer arrayOid)
void addDataType(String type, Class<? extends PGobject> klass) throws SQLException
SQLException
int getSQLType(int oid) throws SQLException
oid
- the type's OIDTypes
) for the typeSQLException
- if an error occurs when retrieving sql typeint getSQLType(String pgTypeName) throws SQLException
pgTypeName
- the server type name to look upTypes
) for the typeSQLException
- if an error occurs when retrieving sql typeint getPGType(String pgTypeName) throws SQLException
getPGType(int)
.pgTypeName
- the server type name to look upSQLException
- if an error occurs when retrieving PG type@Nullable String getPGType(int oid) throws SQLException
getPGType(String)
.oid
- the type's OIDSQLException
- if an error occurs when retrieving PG typeint getPGArrayElement(int oid) throws SQLException
oid
- the array type's OIDSQLException
- if an error occurs when retrieving array elementint getPGArrayType(String elementTypeName) throws SQLException
elementTypeName
- the base type'sSQLException
- if an error occurs when retrieving array typechar getArrayDelimiter(int oid) throws SQLException
oid
- the array type's OIDSQLException
- if an error occurs when retrieving array delimiterString getJavaClass(int oid) throws SQLException
SQLException
int getPrecision(int oid, int typmod)
int getScale(int oid, int typmod)
boolean isCaseSensitive(int oid)
boolean isSigned(int oid)
int getDisplaySize(int oid, int typmod)
int getMaximumPrecision(int oid)
boolean requiresQuoting(int oid) throws SQLException
SQLException
boolean requiresQuotingSqlType(int sqlType) throws SQLException
sqlType
- sql type as in java.sql.TypesSQLException
- if something goes wrongint longOidToInt(long oid) throws SQLException
Java Integers are signed 32-bit integers, but oids are unsigned 32-bit integers. We therefore read them as positive long values and then force them into signed integers (wrapping around into negative values when required) or we'd be unable to correctly handle the upper half of the oid space.
This function handles the mapping of uint32-values in the long to java integers, and throws for values that are out of range.
oid
- the oid as a long.SQLException
- if the long has a value outside of the range representable by uint32long intOidToLong(int oid)
oid
- the (signed) integer oid to convert into a long.Copyright © 1997-2020 PostgreSQL Global Development Group. All Rights Reserved.