Class SQLBit
java.lang.Object
org.apache.derby.iapi.types.DataType
org.apache.derby.iapi.types.SQLBinary
org.apache.derby.iapi.types.SQLBit
- All Implemented Interfaces:
Externalizable, Serializable, Comparable, Formatable, Storable, StreamStorable, TypedFormat, BitDataValue, ConcatableDataValue, DataValueDescriptor, Orderable, VariableSizeDataValue
- Direct Known Subclasses:
SQLVarbit
-
Field Summary
Fields inherited from class SQLBinary
_blobValue, dataValue, PAD, stream, streamValueLengthFields inherited from interface DataValueDescriptor
UNKNOWN_LOGICAL_LENGTHFields inherited from interface Orderable
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHANFields inherited from interface VariableSizeDataValue
IGNORE_PRECISION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) intReturn max memory usage for a SQL BitGet a new null value of the same type as this data value.Gets the value in the data value descriptor as a int.intReturn my format identifier.Get the SQL name of the datatypevoidnormalize(DataTypeDescriptor desiredType, DataValueDescriptor source) Normalization method - this method may be called when putting a value into a SQLBit, for example, when inserting into a SQLBit column.(package private) final voidSet the value from an non-null object.final voidsetValueFromResultSet(ResultSet resultSet, int colNumber, boolean isNullable) Obtain the value using getBytes.voidsetWidth(int desiredWidth, int desiredScale, boolean errorOnTrunc) Set the width of the to the desired value.intEach built-in type in JSQL has a precedence.Methods inherited from class SQLBinary
charLength, checkHostVariable, cloneHolder, cloneValue, compare, compare, concatenate, equals, estimateMemoryUsage, getBytes, getLength, getStream, getString, getTraceString, getValue, greaterOrEquals, greaterThan, hashCode, isNull, lessOrEquals, lessThan, loadStream, notEquals, objectNull, readExternal, restoreToNull, returnStream, setFrom, setInto, setStream, setValue, setValue, setValue, substring, toString, truncate, writeExternalMethods inherited from class DataType
coalesce, compare, compare, compareTo, dataTypeConversion, equals, flip, genericSetObject, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getShort, getTime, getTimestamp, getTypeName, hasStream, in, invalidFormat, isNotNull, isNullOp, outOfRange, readExternalFromArray, recycle, setBigDecimal, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch, typeToBigDecimalMethods inherited from interface DataValueDescriptor
coalesce, compare, compare, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getShort, getTime, getTimestamp, hasStream, in, isNotNull, isNullOp, readExternalFromArray, recycle, setBigDecimal, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, typeToBigDecimal
-
Constructor Details
-
SQLBit
public SQLBit()no-arg constructor, required by Formattable. -
SQLBit
public SQLBit(byte[] val)
-
-
Method Details
-
getObject
Description copied from class:DataTypeGets the value in the data value descriptor as a int. Throws an exception if the data value is not receivable as a int.- Specified by:
getObjectin interfaceDataValueDescriptor- Overrides:
getObjectin classDataType- Returns:
- The data value as a int.
- Throws:
StandardException- Thrown on error
-
getTypeName
Description copied from interface:DataValueDescriptorGet the SQL name of the datatype- Returns:
- The SQL name of the datatype
-
getMaxMemoryUsage
int getMaxMemoryUsage()Return max memory usage for a SQL Bit- Specified by:
getMaxMemoryUsagein classSQLBinary
-
getTypeFormatId
public int getTypeFormatId()Return my format identifier.- Returns:
- The identifier. (A UUID stuffed in an array of 16 bytes).
- See Also:
-
getNewNull
Description copied from interface:DataValueDescriptorGet a new null value of the same type as this data value.- See Also:
-
setValueFromResultSet
public final void setValueFromResultSet(ResultSet resultSet, int colNumber, boolean isNullable) throws SQLException 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- The specified ResultSet.colNumber- The 1-based column # into the resultSet.isNullable- Whether or not the column is nullable (No need to call wasNull() if not)- Throws:
SQLException- Thrown on error- See Also:
-
typePrecedence
public int typePrecedence()Description copied from class:DataTypeEach 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.- Specified by:
typePrecedencein interfaceDataValueDescriptor- Overrides:
typePrecedencein classDataType- Returns:
- The precedence of this type.
- See Also:
-
setObject
Set the value from an non-null object.- Overrides:
setObjectin classDataType- Throws:
StandardException
-
normalize
public void normalize(DataTypeDescriptor desiredType, DataValueDescriptor source) throws StandardException 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.- Specified by:
normalizein interfaceDataValueDescriptor- Overrides:
normalizein classDataType- Parameters:
desiredType- The type to normalize the source column tosource- The value to normalize- Throws:
StandardException- Thrown for null into non-nullable column, and for truncation error
-
setWidth
public void setWidth(int desiredWidth, int desiredScale, boolean errorOnTrunc) throws StandardException 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- the desired lengthdesiredScale- the desired scale (ignored)errorOnTrunc- throw error on truncation- Throws:
StandardException- Thrown on non-zero truncation if errorOnTrunc is true
-