Class DRDAStatement.DrdaParamState

  • Enclosing class:
    DRDAStatement

    private static class DRDAStatement.DrdaParamState
    extends java.lang.Object
    This class is used to keep track of the statement's parameters as they are received from the client. It uses arrays to track the DRDA type, the length in bytes and the externalness of each parameter. Arrays of int/byte are used rather than ArrayLists of Integer/Byte in order to re-use the same storage each time the statement is executed.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private DrdaParamState()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addDrdaParam​(byte t, int s)
      addDrdaParam adds a new parameter with its DRDA type and byte length.
      protected void addExtPos​(int p)
      addExtPos marks parameter i as external.
      protected void clear​(boolean trim)
      clear resets the arrays so that new parameters will be added at the beginning.
      protected void drainStreamedParameter()
      Read the rest of the streamed parameter if not consumed by the executing statement.
      protected int getDrdaLen​(int i)
      getDrdaLen returns the length in bytes of the ith parameter.
      protected int getDrdaParamCount()
      getDrdaParamCount return the number of parameters added so far (since last clear).
      protected byte getDrdaType​(int i)
      getDrdaType returns a byte that represents the DRDA type of the ith parameter.
      protected int getExtPos​(int i)
      getExtPos returns the actual parameter position of the ith external parameter.
      protected int getExtPosCount()
      getExtPosCount returns the number of parameters marked as external so far (since last clear).
      private static java.lang.Object growArray​(java.lang.Object array)  
      void setStreamedParameter​(EXTDTAReaderInputStream eis)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • typeLstEnd_

        private int typeLstEnd_
      • typeLst_

        private byte[] typeLst_
      • lenLst_

        private int[] lenLst_
      • extLstEnd_

        private int extLstEnd_
      • extLst_

        private int[] extLst_
    • Constructor Detail

      • DrdaParamState

        private DrdaParamState()
    • Method Detail

      • growArray

        private static java.lang.Object growArray​(java.lang.Object array)
      • clear

        protected void clear​(boolean trim)
        clear resets the arrays so that new parameters will be added at the beginning. No initialization or releasing of storage takes place unless the trim argument is true.
        Parameters:
        trim - - if true; release excess storage
      • addDrdaParam

        protected void addDrdaParam​(byte t,
                                    int s)
        addDrdaParam adds a new parameter with its DRDA type and byte length. The arrays are automatically grown if needed.
        Parameters:
        t - a byte value, the DRDA type of the parameter being added
        s - an int value, the length in bytes of the parameter being added
      • getDrdaParamCount

        protected int getDrdaParamCount()
        getDrdaParamCount return the number of parameters added so far (since last clear).
        Returns:
        an int value, the number of parameters
      • getDrdaType

        protected byte getDrdaType​(int i)
        getDrdaType returns a byte that represents the DRDA type of the ith parameter.
        Parameters:
        i - an int value, a parameter position (zero-based)
        Returns:
        a byte value, the DRDA type
      • getDrdaLen

        protected int getDrdaLen​(int i)
        getDrdaLen returns the length in bytes of the ith parameter.
        Parameters:
        i - an int value, a parameter position (zero-based)
        Returns:
        an int value
      • addExtPos

        protected void addExtPos​(int p)
        addExtPos marks parameter i as external. The array is grown as needed.
        Parameters:
        p - an int value, a parameter position (zero-based)
      • getExtPosCount

        protected int getExtPosCount()
        getExtPosCount returns the number of parameters marked as external so far (since last clear).
        Returns:
        an int value, the number of external parameters.
      • getExtPos

        protected int getExtPos​(int i)
        getExtPos returns the actual parameter position of the ith external parameter.
        Parameters:
        i - an int value, index into the list of external parameters, zero-based
        Returns:
        an int value, the parameter position of the ith external parameter (zero-based)
      • drainStreamedParameter

        protected void drainStreamedParameter()
                                       throws java.io.IOException
        Read the rest of the streamed parameter if not consumed by the executing statement. DERBY-3085
        Throws:
        java.io.IOException