Package net.sourceforge.jtds.jdbc
Class TypeInfo
- java.lang.Object
-
- net.sourceforge.jtds.jdbc.TypeInfo
-
- All Implemented Interfaces:
java.lang.Comparable
public class TypeInfo extends java.lang.Object implements java.lang.Comparable
Represents an SQL data type as required bygetTypeInfo()
. Provides a suitable natural ordering. This class probably shouldn't be public, but is required to be so by the tests.- Version:
- $Id: TypeInfo.java,v 1.5 2005-07-27 11:02:34 alin_sinpalean Exp $
- Author:
- David Eaves
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
autoIncrement
private boolean
caseSensitive
private java.lang.String
createParams
private int
dataType
private int
distanceFromJdbcType
private boolean
fixedPrecScale
private java.lang.String
literalPrefix
private java.lang.String
literalSuffix
private java.lang.String
localTypeName
private short
maximumScale
private short
minimumScale
private int
normalizedType
private short
nullable
(package private) static int
NUM_COLS
private int
numPrecRadix
private int
precision
private short
searchable
private int
sqlDataType
private int
sqlDatetimeSub
private java.lang.String
typeName
private boolean
unsigned
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private int
compare(int i1, int i2)
int
compareTo(java.lang.Object o)
Comparable implementation that orders by dataType, then by how closely the data type maps to the corresponding JDBC SQL type.private int
determineDistanceFromJdbcType()
Determine how close this type is to the corresponding JDBC type.boolean
equals(java.lang.Object o)
int
hashCode()
static int
normalizeDataType(int serverDataType, boolean useLOBs)
Return aTypes
-defined type for an SQL Server specific data type.java.lang.String
toString()
void
update(java.sql.ResultSet rs)
-
-
-
Field Detail
-
NUM_COLS
static final int NUM_COLS
- See Also:
- Constant Field Values
-
typeName
private final java.lang.String typeName
-
dataType
private final int dataType
-
precision
private final int precision
-
literalPrefix
private final java.lang.String literalPrefix
-
literalSuffix
private final java.lang.String literalSuffix
-
createParams
private final java.lang.String createParams
-
nullable
private final short nullable
-
caseSensitive
private final boolean caseSensitive
-
searchable
private final short searchable
-
unsigned
private final boolean unsigned
-
fixedPrecScale
private final boolean fixedPrecScale
-
autoIncrement
private final boolean autoIncrement
-
localTypeName
private final java.lang.String localTypeName
-
minimumScale
private final short minimumScale
-
maximumScale
private final short maximumScale
-
sqlDataType
private final int sqlDataType
-
sqlDatetimeSub
private final int sqlDatetimeSub
-
numPrecRadix
private final int numPrecRadix
-
normalizedType
private final int normalizedType
-
distanceFromJdbcType
private final int distanceFromJdbcType
-
-
Constructor Detail
-
TypeInfo
public TypeInfo(java.sql.ResultSet rs, boolean useLOBs) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
TypeInfo
public TypeInfo(java.lang.String typeName, int dataType, boolean autoIncrement)
For testing only. Create an instance with just the properties utilised in thecompareTo()
method (set name, type, and auto increment).
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
update
public void update(java.sql.ResultSet rs) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
compareTo
public int compareTo(java.lang.Object o)
Comparable implementation that orders by dataType, then by how closely the data type maps to the corresponding JDBC SQL type. The data type values for the non-standard SQL Server types tend to have negative numbers while the corresponding standard types have positive numbers so utilise that in the sorting.- Specified by:
compareTo
in interfacejava.lang.Comparable
-
compare
private int compare(int i1, int i2)
-
determineDistanceFromJdbcType
private int determineDistanceFromJdbcType()
Determine how close this type is to the corresponding JDBC type. Used in sorting to distinguish between types that have the samenormalizedType
value.- Returns:
- positive integer indicating how far away the type is from the corresponding JDBC type, with zero being the nearest possible match and 9 being the least
-
normalizeDataType
public static int normalizeDataType(int serverDataType, boolean useLOBs)
Return aTypes
-defined type for an SQL Server specific data type.- Parameters:
serverDataType
- the data type, as returned by the serveruseLOBs
- whether LOB data types are used for large types- Returns:
- the equivalent data type defined by
java.sql.Types
-
-