Package org.h2.jdbc
Class JdbcParameterMetaData
- java.lang.Object
-
- org.h2.message.TraceObject
-
- org.h2.jdbc.JdbcParameterMetaData
-
- All Implemented Interfaces:
java.sql.ParameterMetaData
,java.sql.Wrapper
public final class JdbcParameterMetaData extends TraceObject implements java.sql.ParameterMetaData
Information about the parameters of a prepared statement.
-
-
Field Summary
Fields Modifier and Type Field Description private int
paramCount
private java.util.ArrayList<? extends ParameterInterface>
parameters
private JdbcPreparedStatement
prep
-
Fields inherited from class org.h2.message.TraceObject
ARRAY, BLOB, CALLABLE_STATEMENT, CLOB, CONNECTION, DATA_SOURCE, DATABASE_META_DATA, PARAMETER_META_DATA, PREPARED_STATEMENT, RESULT_SET, RESULT_SET_META_DATA, SAVEPOINT, SQLXML, STATEMENT, trace, XA_DATA_SOURCE, XID
-
-
Constructor Summary
Constructors Constructor Description JdbcParameterMetaData(Trace trace, JdbcPreparedStatement prep, CommandInterface command, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkClosed()
private ParameterInterface
getParameter(int param)
java.lang.String
getParameterClassName(int param)
Returns the Java class name of the parameter.int
getParameterCount()
Returns the number of parameters.int
getParameterMode(int param)
Returns the parameter mode.int
getParameterType(int param)
Returns the parameter type.java.lang.String
getParameterTypeName(int param)
Returns the parameter type name.int
getPrecision(int param)
Returns the parameter precision.int
getScale(int param)
Returns the parameter scale.int
isNullable(int param)
Checks if this is nullable parameter.boolean
isSigned(int param)
Checks if this parameter is signed.boolean
isWrapperFor(java.lang.Class<?> iface)
Checks if unwrap can return an object of this class.java.lang.String
toString()
INTERNAL<T> T
unwrap(java.lang.Class<T> iface)
Return an object of this class if possible.-
Methods inherited from class org.h2.message.TraceObject
debugCode, debugCodeAssign, debugCodeCall, debugCodeCall, debugCodeCall, getNextId, getTraceId, getTraceObjectName, isDebugEnabled, isInfoEnabled, logAndConvert, quote, quoteArray, quoteBigDecimal, quoteBytes, quoteDate, quoteIntArray, quoteMap, quoteTime, quoteTimestamp, setTrace, unsupported
-
-
-
-
Field Detail
-
prep
private final JdbcPreparedStatement prep
-
paramCount
private final int paramCount
-
parameters
private final java.util.ArrayList<? extends ParameterInterface> parameters
-
-
Constructor Detail
-
JdbcParameterMetaData
JdbcParameterMetaData(Trace trace, JdbcPreparedStatement prep, CommandInterface command, int id)
-
-
Method Detail
-
getParameterCount
public int getParameterCount() throws java.sql.SQLException
Returns the number of parameters.- Specified by:
getParameterCount
in interfacejava.sql.ParameterMetaData
- Returns:
- the number
- Throws:
java.sql.SQLException
-
getParameterMode
public int getParameterMode(int param) throws java.sql.SQLException
Returns the parameter mode. Always returns parameterModeIn.- Specified by:
getParameterMode
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- parameterModeIn
- Throws:
java.sql.SQLException
-
getParameterType
public int getParameterType(int param) throws java.sql.SQLException
Returns the parameter type. java.sql.Types.VARCHAR is returned if the data type is not known.- Specified by:
getParameterType
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- the data type
- Throws:
java.sql.SQLException
-
getPrecision
public int getPrecision(int param) throws java.sql.SQLException
Returns the parameter precision. The value 0 is returned if the precision is not known.- Specified by:
getPrecision
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- the precision
- Throws:
java.sql.SQLException
-
getScale
public int getScale(int param) throws java.sql.SQLException
Returns the parameter scale. The value 0 is returned if the scale is not known.- Specified by:
getScale
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- the scale
- Throws:
java.sql.SQLException
-
isNullable
public int isNullable(int param) throws java.sql.SQLException
Checks if this is nullable parameter. Returns ResultSetMetaData.columnNullableUnknown..- Specified by:
isNullable
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- ResultSetMetaData.columnNullableUnknown
- Throws:
java.sql.SQLException
-
isSigned
public boolean isSigned(int param) throws java.sql.SQLException
Checks if this parameter is signed. It always returns true.- Specified by:
isSigned
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- true
- Throws:
java.sql.SQLException
-
getParameterClassName
public java.lang.String getParameterClassName(int param) throws java.sql.SQLException
Returns the Java class name of the parameter. "java.lang.String" is returned if the type is not known.- Specified by:
getParameterClassName
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- the Java class name
- Throws:
java.sql.SQLException
-
getParameterTypeName
public java.lang.String getParameterTypeName(int param) throws java.sql.SQLException
Returns the parameter type name. "VARCHAR" is returned if the type is not known.- Specified by:
getParameterTypeName
in interfacejava.sql.ParameterMetaData
- Parameters:
param
- the column index (1,2,...)- Returns:
- the type name
- Throws:
java.sql.SQLException
-
getParameter
private ParameterInterface getParameter(int param)
-
checkClosed
private void checkClosed()
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
Return an object of this class if possible.- Specified by:
unwrap
in interfacejava.sql.Wrapper
- Parameters:
iface
- the class- Returns:
- this
- Throws:
java.sql.SQLException
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
Checks if unwrap can return an object of this class.- Specified by:
isWrapperFor
in interfacejava.sql.Wrapper
- Parameters:
iface
- the class- Returns:
- whether or not the interface is assignable from this class
- Throws:
java.sql.SQLException
-
toString
public java.lang.String toString()
INTERNAL- Overrides:
toString
in classjava.lang.Object
-
-