Interface StringDataValue

All Superinterfaces:
ConcatableDataValue, DataValueDescriptor, Externalizable, Formatable, Orderable, Serializable, Storable, TypedFormat, VariableSizeDataValue
All Known Implementing Classes:
CollatorSQLChar, CollatorSQLClob, CollatorSQLLongvarchar, CollatorSQLVarchar, SQLChar, SQLClob, SQLLongvarchar, SQLVarchar

public interface StringDataValue extends ConcatableDataValue
  • Field Details

    • BOTH

      static final int BOTH
      See Also:
    • TRAILING

      static final int TRAILING
      See Also:
    • LEADING

      static final int LEADING
      See Also:
    • COLLATION_DERIVATION_NONE

      static final int COLLATION_DERIVATION_NONE
      For a character string type, the collation derivation should always be "explicit"(not possible in Derby 10.3), "implicit" or "none". We will start by setting it to "implicit" in TypeDescriptorImpl. At runtime, only character string types which are results of aggregate methods dealing with operands with different collation types should have a collation derivation of "none". All the other character string types should have their collation derivation set to "implicit".
      See Also:
    • COLLATION_DERIVATION_IMPLICIT

      static final int COLLATION_DERIVATION_IMPLICIT
      See Also:
    • COLLATION_DERIVATION_EXPLICIT

      static final int COLLATION_DERIVATION_EXPLICIT
      See Also:
    • COLLATION_TYPE_UCS_BASIC

      static final int COLLATION_TYPE_UCS_BASIC
      In Derby 10.3, it is possible to have database with one of the following two configurations 1)all the character columns will have a collation type of UCS_BASIC. This is same as what we do in Derby 10.2 release. 2)all the character string columns belonging to system tables will have collation type of UCS_BASIC but all the character string columns belonging to user tables will have collation type of TERRITORY_BASED. Data types will start with collation type defaulting to UCS_BASIC in TypeDescriptorImpl. This collation type of course makes sense for character string types only. It will be ignored for the rest of the types. If a character's collation type should be TERRITORY_BASED, then DTD.setCollationType can be called to change the default of UCS_BASIC. The collation types TERRITORY_BASED:PRIMARY through TERRITORY_BASED:IDENTICAL are variants of the TERRITORY_BASED type, with explicit collation strength.
      See Also:
    • COLLATION_TYPE_TERRITORY_BASED

      static final int COLLATION_TYPE_TERRITORY_BASED
      See Also:
    • COLLATION_TYPE_TERRITORY_BASED_PRIMARY

      static final int COLLATION_TYPE_TERRITORY_BASED_PRIMARY
      See Also:
    • COLLATION_TYPE_TERRITORY_BASED_SECONDARY

      static final int COLLATION_TYPE_TERRITORY_BASED_SECONDARY
      See Also:
    • COLLATION_TYPE_TERRITORY_BASED_TERTIARY

      static final int COLLATION_TYPE_TERRITORY_BASED_TERTIARY
      See Also:
    • COLLATION_TYPE_TERRITORY_BASED_IDENTICAL

      static final int COLLATION_TYPE_TERRITORY_BASED_IDENTICAL
      See Also:
  • Method Details

    • concatenate

      StringDataValue concatenate(StringDataValue leftOperand, StringDataValue rightOperand, StringDataValue result) throws StandardException
      The SQL concatenation '||' operator.
      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
    • like

      The SQL like() function with out escape clause.
      Parameters:
      pattern - the pattern to use
      Returns:
      A BooleanDataValue containing the result of the like
      Throws:
      StandardException - Thrown on error
    • like

      The SQL like() function WITH escape clause.
      Parameters:
      pattern - the pattern to use
      escape - the escape character
      Returns:
      A BooleanDataValue containing the result of the like
      Throws:
      StandardException - Thrown on error
    • ansiTrim

      StringDataValue ansiTrim(int trimType, StringDataValue trimChar, StringDataValue result) throws StandardException
      The SQL Ansi trim function.
      Parameters:
      trimType - type of trim. Possible values are LEADING, TRAILING or BOTH.
      trimChar - The character to trim from this
      result - The result of a previous call to this method, null if not called yet.
      Returns:
      A StringDataValue containing the result of the trim().
      Throws:
      StandardException
    • upper

      Convert the string to upper case.
      Parameters:
      result - The result (reusable - allocate if null).
      Returns:
      The string converted to upper case.
      Throws:
      StandardException - Thrown on error
    • lower

      Convert the string to lower case.
      Parameters:
      result - The result (reusable - allocate if null).
      Returns:
      The string converted to lower case.
      Throws:
      StandardException - Thrown on error
    • locate

      Position in searchFrom of the first occurrence of this.value. The search begins from position start. 0 is returned if searchFrom does not contain this.value. Position 1 is the first character in searchFrom.
      Parameters:
      searchFrom - - The string to search from
      start - - The position to search from in string searchFrom
      result - - The object to return
      Returns:
      The position in searchFrom the fist occurrence of this.value. 0 is returned if searchFrom does not contain this.value.
      Throws:
      StandardException - Thrown on error
    • getCharArray

      char[] getCharArray() throws StandardException
      Get a char array. Typically, this is a simple getter that is cheaper than getString() because we always need to create a char array when doing I/O. Use this instead of getString() where reasonable.

      WARNING: may return a character array that has spare characters at the end. MUST be used in conjunction with getLength() to be safe.

      Throws:
      StandardException - Thrown on error
    • getValue

      StringDataValue getValue(RuleBasedCollator collatorForComparison)
      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.
    • getStreamHeaderGenerator

      StreamHeaderGenerator getStreamHeaderGenerator()
      Returns the stream header generator for the string data value.

      The generator writes the correct header into the destination buffer or stream and also keeps track of whether appending an end-of-stream marker is required or not.

      Note that the generator may fail to generate a header if there is no context at the time the header is asked for, and the mode hasn't been set explicitly.

      See Also:
    • setStreamHeaderFormat

      void setStreamHeaderFormat(Boolean usePreTenFiveHdrFormat)
      Tells the data value descriptor which CLOB stream header format to use.
      Parameters:
      usePreTenFiveHdrFormat - true if the database accessed is prior to version 10.5, false if the version is 10.5 or newer, and null if unknown at this time
    • getStreamWithDescriptor

      CharacterStreamDescriptor getStreamWithDescriptor() throws StandardException
      Returns a descriptor for the input stream for this data value.

      The descriptor contains information about header data, current positions, length, whether the stream should be buffered or not, and if the stream is capable of repositioning itself.

      Returns:
      A descriptor for the stream, which includes a reference to the stream itself.
      Throws:
      StandardException - if obtaining the descriptor fails, or if the value isn't represented as a stream.
    • setValue

      void setValue(Clob value) throws StandardException
      Stuff a StringDataValue with a Clob.
      Specified by:
      setValue in interface DataValueDescriptor
      Parameters:
      value - The Clob value to set this DataValueDescriptor to
      Throws:
      StandardException