Top Description Fields Constructors Methods
org.apache.derby.iapi.types

public Class SQLBit

extends SQLBinary
Class Inheritance
Known Direct Subclasses
org.apache.derby.iapi.types.SQLVarbit
Imports
org.apache.derby.shared.common.error.StandardException, org.apache.derby.shared.common.reference.SQLState, .Limits, org.apache.derby.iapi.services.io.StoredFormatIds, org.apache.derby.iapi.util.StringUtil, java.sql.ResultSet, .SQLException

SQLBit represents the SQL type CHAR FOR BIT DATA

Field Summary

Inherited from org.apache.derby.iapi.types.SQLBinary:
_blobValuedataValuePADstreamstreamValueLength

Constructor Summary

AccessConstructor and Description
public
SQLBit()

no-arg constructor, required by Formattable.

public
SQLBit(byte[] val)

Method Summary

Modifier and TypeMethod and Description
pack-priv int
getMaxMemoryUsage()

Implements abstract org.apache.derby.iapi.types.SQLBinary.getMaxMemoryUsage.

Return max memory usage for a SQL Bit

public DataValueDescriptor
getNewNull()

Implements org.apache.derby.iapi.types.DataValueDescriptor.getNewNull.

Get a new null value of the same type as this data value.

public Object
getObject()

Overrides org.apache.derby.iapi.types.DataType.getObject.

Implements org.apache.derby.iapi.types.DataValueDescriptor.getObject.

Gets the value in the data value descriptor as a Java Object.

public int
public String
getTypeName()

Implements org.apache.derby.iapi.types.DataValueDescriptor.getTypeName.

Get the SQL name of the datatype

public void
normalize(DataTypeDescriptor
The type to normalize the source column to
desiredType
,
DataValueDescriptor
The value to normalize
source
)

Overrides org.apache.derby.iapi.types.DataType.normalize.

Implements org.apache.derby.iapi.types.DataValueDescriptor.normalize.

Normalization method - this method may be called when putting a value into a SQLBit, for example, when inserting into a SQLBit column.

pack-priv final void
setObject(Object theValue)

Overrides org.apache.derby.iapi.types.DataType.setObject.

Set the value from an non-null object.

public final void
setValueFromResultSet(ResultSet
The specified ResultSet.
resultSet
,
int
The 1-based column # into the resultSet.
colNumber
,
boolean
Whether or not the column is nullable (No need to call wasNull() if not)
isNullable
)

Implements org.apache.derby.iapi.types.DataValueDescriptor.setValueFromResultSet.

Obtain the value using getBytes.

public void
setWidth(int
the desired length
desiredWidth
,
int
the desired scale (ignored)
desiredScale
,
boolean
throw error on truncation
errorOnTrunc
)

Implements org.apache.derby.iapi.types.VariableSizeDataValue.setWidth.

Set the width of the to the desired value.

public int
Inherited from org.apache.derby.iapi.types.SQLBinary:
charLengthcheckHostVariablecloneHoldercloneValuecomparecompareconcatenateequalsestimateMemoryUsagegetBytesgetLengthgetStreamgetStringgetTraceStringgetValuegreaterOrEqualsgreaterThanhashCodeisNulllessOrEqualslessThanloadStreamnotEqualsobjectNullreadExternalrestoreToNullreturnStreamsetFromsetIntosetStreamsetValuesetValuesetValuesubstringtoStringtruncatewriteExternal

Constructor Detail

SQLBitback to summary
public SQLBit()

no-arg constructor, required by Formattable.

SQLBitback to summary
public SQLBit(byte[] val)

Method Detail

getMaxMemoryUsageback to summary
pack-priv int getMaxMemoryUsage()

Implements abstract org.apache.derby.iapi.types.SQLBinary.getMaxMemoryUsage.

Return max memory usage for a SQL Bit

getNewNullback to summary
public DataValueDescriptor getNewNull()

Implements org.apache.derby.iapi.types.DataValueDescriptor.getNewNull.

Doc from org.apache.derby.iapi.types.DataValueDescriptor.getNewNull.

Get a new null value of the same type as this data value.

See Also
DataValueDescriptor#getNewNull
getObjectback to summary
public Object getObject() throws StandardException

Overrides org.apache.derby.iapi.types.DataType.getObject.

Implements org.apache.derby.iapi.types.DataValueDescriptor.getObject.

Doc from org.apache.derby.iapi.types.DataValueDescriptor.getObject.

Gets the value in the data value descriptor as a Java Object. The type of the Object will be the Java object type corresponding to the data value's SQL type. JDBC defines a mapping between Java object types and SQL types - we will allow that to be extended through user type definitions. Throws an exception if the data value is not an object (yeah, right).

Returns:Object

The data value as an Object.

Exceptions
StandardException:
Thrown on error
getTypeFormatIdback to summary
public int getTypeFormatId()

Implements org.apache.derby.iapi.services.io.TypedFormat.getTypeFormatId.

Return my format identifier.

Returns:int

Doc from org.apache.derby.iapi.services.io.TypedFormat.getTypeFormatId.

The identifier. (A UUID stuffed in an array of 16 bytes).

See Also
org.apache.derby.iapi.services.io.TypedFormat#getTypeFormatId
getTypeNameback to summary
public String getTypeName()

Implements org.apache.derby.iapi.types.DataValueDescriptor.getTypeName.

Doc from org.apache.derby.iapi.types.DataValueDescriptor.getTypeName.

Get the SQL name of the datatype

Returns:String

The SQL name of the datatype

normalizeback to summary
public void normalize(DataTypeDescriptor desiredType, DataValueDescriptor source) throws StandardException

Overrides org.apache.derby.iapi.types.DataType.normalize.

Implements org.apache.derby.iapi.types.DataValueDescriptor.normalize.

Normalization method - this method may be called when putting a value into a SQLBit, for example, when inserting into a SQLBit column. See NormalizeResultSet in execution.

Parameters
desiredType:DataTypeDescriptor

The type to normalize the source column to

source:DataValueDescriptor

The value to normalize

Exceptions
StandardException:
Thrown for null into non-nullable column, and for truncation error
setObjectback to summary
pack-priv final void setObject(Object theValue) throws StandardException

Overrides org.apache.derby.iapi.types.DataType.setObject.

Set the value from an non-null object.

setValueFromResultSetback to summary
public final void setValueFromResultSet(ResultSet resultSet, int colNumber, boolean isNullable) throws SQLException

Implements org.apache.derby.iapi.types.DataValueDescriptor.setValueFromResultSet.

Obtain the value using getBytes. This works for all FOR BIT DATA types. Getting a stream is problematic as any other getXXX() call on the ResultSet will close the stream we fetched. Therefore we have to create the value in-memory as a byte array.

Parameters
resultSet:ResultSet

Doc from org.apache.derby.iapi.types.DataValueDescriptor.setValueFromResultSet.

The specified ResultSet.

colNumber:int

Doc from org.apache.derby.iapi.types.DataValueDescriptor.setValueFromResultSet.

The 1-based column # into the resultSet.

isNullable:boolean

Doc from org.apache.derby.iapi.types.DataValueDescriptor.setValueFromResultSet.

Whether or not the column is nullable (No need to call wasNull() if not)

Exceptions
SQLException:
Thrown on error
See Also
DataValueDescriptor#setValueFromResultSet
setWidthback to summary
public void setWidth(int desiredWidth, int desiredScale, boolean errorOnTrunc) throws StandardException

Implements org.apache.derby.iapi.types.VariableSizeDataValue.setWidth.

Set the width of the to the desired value. Used when CASTing. Ideally we'd recycle normalize(), but the behavior is different (we issue a warning instead of an error, and we aren't interested in nullability).

Parameters
desiredWidth:int

the desired length

desiredScale:int

the desired scale (ignored)

errorOnTrunc:boolean

throw error on truncation

Exceptions
StandardException:
Thrown on non-zero truncation if errorOnTrunc is true
typePrecedenceback to summary
public int typePrecedence()

Overrides org.apache.derby.iapi.types.DataType.typePrecedence.

Implements org.apache.derby.iapi.types.DataValueDescriptor.typePrecedence.

Doc from org.apache.derby.iapi.types.DataValueDescriptor.typePrecedence.

Each built-in type in JSQL has a precedence. This precedence determines how to do type promotion when using binary operators. For example, float has a higher precedence than int, so when adding an int to a float, the result type is float. The precedence for some types is arbitrary. For example, it doesn't matter what the precedence of the boolean type is, since it can't be mixed with other types. But the precedence for the number types is critical. The SQL standard requires that exact numeric types be promoted to approximate numeric when one operator uses both. Also, the precedence is arranged so that one will not lose precision when promoting a type.

Returns:int

The precedence of this type.

See Also
DataValueDescriptor#typePrecedence