org.apache.derby.impl.drda
Class DRDAStatement.DrdaParamState

java.lang.Object
  extended by org.apache.derby.impl.drda.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.


Field Summary
private  int[] extLst_
           
private  int extLstEnd_
           
private  int[] lenLst_
           
private  EXTDTAReaderInputStream streamedParameter
           
private  byte[] typeLst_
           
private  int typeLstEnd_
           
 
Constructor Summary
private DRDAStatement.DrdaParamState()
           
 
Method Summary
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

streamedParameter

private EXTDTAReaderInputStream streamedParameter

typeLstEnd_

private int typeLstEnd_

typeLst_

private byte[] typeLst_

lenLst_

private int[] lenLst_

extLstEnd_

private int extLstEnd_

extLst_

private int[] extLst_
Constructor Detail

DRDAStatement.DrdaParamState

private DRDAStatement.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

setStreamedParameter

public void setStreamedParameter(EXTDTAReaderInputStream eis)

Built on Thu 2010-12-23 20:49:13+0000, from revision ???

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