org.apache.derby.iapi.types
Class SQLLongvarchar

java.lang.Object
  extended by org.apache.derby.iapi.types.DataType
      extended by org.apache.derby.iapi.types.SQLChar
          extended by org.apache.derby.iapi.types.SQLVarchar
              extended by org.apache.derby.iapi.types.SQLLongvarchar
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, java.lang.Comparable, Formatable, Storable, StreamStorable, TypedFormat, ConcatableDataValue, DataValueDescriptor, Orderable, StringDataValue, VariableSizeDataValue
Direct Known Subclasses:
CollatorSQLLongvarchar

public class SQLLongvarchar
extends SQLVarchar

SQLLongvarchar represents a LONG VARCHAR value with UCS_BASIC collation. SQLLongvarchar is mostly the same as SQLVarchar, so it is implemented as a subclass of SQLVarchar. Only those methods with different behavior are implemented here.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.derby.iapi.types.SQLChar
_clobValue, arg_passer, CHAR_HEADER_GENERATOR, RETURN_SPACE_THRESHOLD, stream
 
Fields inherited from interface org.apache.derby.iapi.types.StringDataValue
BOTH, COLLATION_DERIVATION_EXPLICIT, COLLATION_DERIVATION_IMPLICIT, COLLATION_DERIVATION_NONE, COLLATION_TYPE_TERRITORY_BASED, COLLATION_TYPE_TERRITORY_BASED_IDENTICAL, COLLATION_TYPE_TERRITORY_BASED_PRIMARY, COLLATION_TYPE_TERRITORY_BASED_SECONDARY, COLLATION_TYPE_TERRITORY_BASED_TERTIARY, COLLATION_TYPE_UCS_BASIC, LEADING, TRAILING
 
Fields inherited from interface org.apache.derby.iapi.types.DataValueDescriptor
UNKNOWN_LOGICAL_LENGTH
 
Fields inherited from interface org.apache.derby.iapi.types.Orderable
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN
 
Fields inherited from interface org.apache.derby.iapi.types.VariableSizeDataValue
IGNORE_PRECISION
 
Constructor Summary
SQLLongvarchar()
           
SQLLongvarchar(java.lang.String val)
           
 
Method Summary
 DataValueDescriptor cloneValue(boolean forceMaterialization)
          Clone this DataValueDescriptor.
 StringDataValue concatenate(StringDataValue leftOperand, StringDataValue rightOperand, StringDataValue result)
          The SQL concatenation '||' operator.
 DataValueDescriptor getNewNull()
          Get a new null value of the same type as this data value.
 int getTypeFormatId()
          Return my format identifier.
 java.lang.String getTypeName()
          Get the SQL name of the datatype
 StringDataValue getValue(java.text.RuleBasedCollator collatorForComparison)
          Gets either SQLChar/SQLVarchar/SQLLongvarchar/SQLClob(base classes) or CollatorSQLChar/CollatorSQLVarchar/CollatorSQLLongvarch/CollatorSQLClob (subclasses).
protected  void normalize(DataTypeDescriptor desiredType, java.lang.String sourceValue)
           
 int typePrecedence()
          Each built-in type in JSQL has a precedence.
 
Methods inherited from class org.apache.derby.iapi.types.SQLVarchar
growBy, normalize
 
Methods inherited from class org.apache.derby.iapi.types.SQLChar
ansiTrim, charLength, cloneHolder, compare, compare, copyState, equals, estimateMemoryUsage, getBoolean, getByte, getCharArray, getCollationKey, getCollatorForCollation, getDate, getDate, getDateFormat, getDateFormat, getDouble, getFloat, getInt, getLength, getLocaleFinder, getLong, getNewVarchar, getObject, getShort, getStream, getStreamHeaderGenerator, getStreamWithDescriptor, getString, getTime, getTime, getTimeFormat, getTimeFormat, getTimestamp, getTimestamp, getTimestampFormat, getTimestampFormat, getTraceString, greaterOrEquals, greaterThan, hashCode, hashCodeForCollation, hasNonBlankChars, isNull, lessOrEquals, lessThan, like, like, loadStream, locate, lower, notEquals, readExternal, readExternal, readExternalClobFromArray, readExternalFromArray, restoreToNull, returnStream, setBigDecimal, setFrom, setInto, setLocaleFinder, setObjectForCast, setStream, setStreamHeaderFormat, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueFromResultSet, setWidth, stringCompare, stringCompare, stringCompare, substring, throwStreamingIOException, toString, typeToBigDecimal, upper, writeClobUTF, writeExternal
 
Methods inherited from class org.apache.derby.iapi.types.DataType
checkHostVariable, coalesce, compare, compare, compareTo, dataTypeConversion, equals, flip, genericSetObject, getBytes, getNationalString, getTypeName, hasStream, in, invalidFormat, isNotNull, isNullOp, outOfRange, recycle, setInto, setObject, setToNull, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor
checkHostVariable, coalesce, compare, compare, getBytes, hasStream, in, isNotNull, isNullOp, recycle, setInto, setToNull, setValue, setValue, setValue, setValue, setValue
 

Constructor Detail

SQLLongvarchar

public SQLLongvarchar()

SQLLongvarchar

public SQLLongvarchar(java.lang.String val)
Method Detail

getTypeName

public java.lang.String getTypeName()
Description copied from interface: DataValueDescriptor
Get the SQL name of the datatype

Specified by:
getTypeName in interface DataValueDescriptor
Overrides:
getTypeName in class SQLVarchar
Returns:
The SQL name of the datatype

cloneValue

public DataValueDescriptor cloneValue(boolean forceMaterialization)
Description copied from interface: DataValueDescriptor
Clone this DataValueDescriptor. Results in a new object that has the same value as this but can be modified independently.

Even though the objects can be modified independently regardless of the value of forceMaterialization, both the clone and the original may be dependent on the store state if forceMaterialization is set to false. An example is if you need to access the value you just read using cloneValue after the current transaction has ended, or after the source result set has been closed.

Specified by:
cloneValue in interface DataValueDescriptor
Overrides:
cloneValue in class SQLVarchar
Parameters:
forceMaterialization - any streams representing the data value will be materialized if true, the data value will be kept as a stream if possible if false
Returns:
A clone of the DataValueDescriptor with the same initial value as this.
See Also:
DataValueDescriptor.cloneValue(boolean)

getNewNull

public DataValueDescriptor getNewNull()
Description copied from interface: DataValueDescriptor
Get a new null value of the same type as this data value.

Specified by:
getNewNull in interface DataValueDescriptor
Overrides:
getNewNull in class SQLVarchar
See Also:
DataValueDescriptor.getNewNull()

getValue

public StringDataValue getValue(java.text.RuleBasedCollator collatorForComparison)
Description copied from interface: StringDataValue
Gets either SQLChar/SQLVarchar/SQLLongvarchar/SQLClob(base classes) or CollatorSQLChar/CollatorSQLVarchar/CollatorSQLLongvarch/CollatorSQLClob (subclasses). Whether this method returns the base class or the subclass depends on the value of the RuleBasedCollator. If RuleBasedCollator is null, then the object returned would be baseclass otherwise it would be subcalss.

Specified by:
getValue in interface StringDataValue
Overrides:
getValue in class SQLVarchar
See Also:
StringDataValue.getValue(RuleBasedCollator)

getTypeFormatId

public int getTypeFormatId()
Return my format identifier.

Specified by:
getTypeFormatId in interface TypedFormat
Overrides:
getTypeFormatId in class SQLVarchar
Returns:
The identifier. (A UUID stuffed in an array of 16 bytes).
See Also:
TypedFormat.getTypeFormatId()

normalize

protected void normalize(DataTypeDescriptor desiredType,
                         java.lang.String sourceValue)
                  throws StandardException
Overrides:
normalize in class SQLVarchar
Throws:
StandardException

concatenate

public StringDataValue concatenate(StringDataValue leftOperand,
                                   StringDataValue rightOperand,
                                   StringDataValue result)
                            throws StandardException
Description copied from interface: StringDataValue
The SQL concatenation '||' operator.

Specified by:
concatenate in interface StringDataValue
Overrides:
concatenate in class SQLChar
Parameters:
leftOperand - String on the left hand side of '||'
rightOperand - String on the right hand side of '||'
result - The result of a previous call to this method, null if not called yet.
Returns:
A ConcatableDataValue containing the result of the '||'
Throws:
StandardException - Thrown on error
See Also:
StringDataValue.concatenate(org.apache.derby.iapi.types.StringDataValue, org.apache.derby.iapi.types.StringDataValue, org.apache.derby.iapi.types.StringDataValue)

typePrecedence

public int typePrecedence()
Description copied from class: DataType
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.

Specified by:
typePrecedence in interface DataValueDescriptor
Overrides:
typePrecedence in class SQLVarchar
Returns:
The precedence of this type.
See Also:
DataValueDescriptor.typePrecedence()

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.