Package org.apache.derby.client.net
Class NetStatementRequest
- java.lang.Object
-
- org.apache.derby.client.net.Request
-
- org.apache.derby.client.net.NetConnectionRequest
-
- org.apache.derby.client.net.NetPackageRequest
-
- org.apache.derby.client.net.NetStatementRequest
-
- All Implemented Interfaces:
ConnectionRequestInterface
,StatementRequestInterface
- Direct Known Subclasses:
NetResultSetRequest
class NetStatementRequest extends NetPackageRequest implements StatementRequestInterface
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.ArrayList<java.lang.Integer>
extdtaPositions_
private java.util.HashMap<java.lang.Integer,java.lang.Object>
promototedParameters_
-
Fields inherited from class org.apache.derby.client.net.Request
buffer, netAgent_, passwordIncluded_, passwordLength_, passwordStart_
-
-
Constructor Summary
Constructors Constructor Description NetStatementRequest(NetAgent netAgent, int bufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private int[][]
allocateLidAndLengthsArray(ColumnMetaData parameterMetaData)
private void
buildDSCSQLSTT(Section section, boolean sendTypsqlda, int typsqlda)
private void
buildEXCSQLIMM(Section section, boolean sendQryinsid, long qryinsid)
private void
buildEXCSQLSET(Section section)
private void
buildEXCSQLSTT(Section section, boolean sendOutexp, boolean outexp, boolean sendPrcnam, java.lang.String prcnam, boolean sendQryblksz, boolean sendMaxrslcnt, int maxrslcnt, boolean sendMaxblkext, int maxblkext, boolean sendRslsetflg, int resultSetFlag, boolean sendQryrowset, int qryrowset)
private void
buildEXTDTA(ColumnMetaData parameterMetaData, java.lang.Object[] inputRow, boolean chained)
private void
buildFDODSC(int numColumns, int[][] protocolTypesAndLengths, boolean overrideExists, java.util.Hashtable overrideMap, java.util.ArrayList overrideArray)
private void
buildFDODTA(int numVars, int[][] protocolTypesAndLengths, java.lang.Object[] inputs)
(package private) void
buildMAXBLKEXT(int maxNumOfExtraBlocks)
private void
buildMAXRSLCNT(int maxResultSetCount)
private void
buildMddOverrides(java.util.ArrayList sdaOverrides)
private void
buildOPNQRY(Section section, boolean sendQueryRowSet, int fetchSize)
private void
buildOUTEXP(boolean outputExpected)
protected void
buildOUTOVR(ClientResultSet resultSet, ColumnMetaData resultSetMetaData)
private int
buildPlaceholderLength(long totalLength)
private void
buildPRCNAM(java.lang.String prcnam)
private void
buildPRPSQLSTT(Section section, java.lang.String sql, boolean sendRtnsqlda, boolean sendTypsqlda, int typsqlda)
(package private) void
buildQRYBLKSZ()
private void
buildQRYCLSIMP()
Build QRYCLSIMP (Query Close Implicit).(package private) void
buildQRYINSID(long qryinsid)
(package private) void
buildQRYROWSET(int fetchSize)
private void
buildRDBCMTOK()
private void
buildRSLSETFLG(int resultSetFlag)
private void
buildRTNSQLDA()
private void
buildSQLCADTA(int numColumns, int[][] lidAndLengthOverrides)
private void
buildSQLDTA(int numColumns, int[][] lidAndLengthOverrides, boolean overrideExists, java.util.Hashtable overrideMap, java.util.ArrayList overrideArray)
private boolean
buildSQLDTAcommandData(int numInputColumns, ColumnMetaData parameterMetaData, java.lang.Object[] inputRow)
private void
buildSQLDTAGRP(int numVars, int[][] lidAndLengthOverrides, boolean mddRequired, java.util.Hashtable overrideMap)
private void
buildSQLDTARD(int numColumns, int[][] lidAndLengthOverrides)
private void
buildTYPSQLDA(int typeSqlda)
private int
calculateColumnsInSQLDTAGRPtriplet(int numVars)
private int[][]
calculateOUTOVRLidAndLengthOverrides(ClientResultSet resultSet, ColumnMetaData resultSetMetaData)
private int
calculateResultSetFlags()
private int
checkFetchsize(int fetchSize, int resultSetType)
private boolean
checkSendQryrowset(int fetchSize, int resultSetType)
private java.util.Hashtable
computeProtocolTypesAndLengths(java.lang.Object[] inputRow, ColumnMetaData parameterMetaData, int[][] lidAndLengths, java.util.Hashtable overrideMap)
private java.lang.Object
retrievePromotedParameterIfExists(int index)
private void
setFDODTALob(int securityMechanism, Lob lob, int[][] protocolTypesAndLengths, int i)
private void
setFDODTALobLength(int[][] protocolTypesAndLengths, int i, long dataLength)
private void
setFDODTALobLengthUnknown(int i)
void
writeDescribeInput(NetPreparedStatement materialPreparedStatement, Section section)
void
writeDescribeOutput(NetPreparedStatement materialPreparedStatement, Section section)
void
writeExecute(NetPreparedStatement materialPreparedStatement, Section section, ColumnMetaData parameterMetaData, java.lang.Object[] inputs, int numInputColumns, boolean outputExpected, boolean chained)
void
writeExecuteCall(NetStatement materialStatement, boolean outputExpected, java.lang.String procedureName, Section section, int fetchSize, boolean suppressResultSets, int resultSetType, ColumnMetaData parameterMetaData, java.lang.Object[] inputs)
void
writeExecuteImmediate(NetStatement materialStatement, java.lang.String sql, Section section)
void
writeOpenQuery(NetPreparedStatement materialPreparedStatement, Section section, int fetchSize, int resultSetType, int numInputColumns, ColumnMetaData parameterMetaData, java.lang.Object[] inputs)
void
writeOpenQuery(NetStatement materialStatement, Section section, int fetchSize, int resultSetType)
void
writePrepare(NetStatement materialStatement, java.lang.String sql, Section section)
void
writePrepareDescribeOutput(NetStatement materialStatement, java.lang.String sql, Section section)
void
writeSetSpecialRegister(Section section, java.util.ArrayList sqlsttList)
-
Methods inherited from class org.apache.derby.client.net.NetPackageRequest
buildPKGNAMCSN, buildSQLATTRcommandData, buildSQLSTTcommandData, encryptDataStream
-
Methods inherited from class org.apache.derby.client.net.NetConnectionRequest
buildSYNCCTLCommit, buildSYNCCTLMigrate, buildSYNCCTLRollback, writeAccessDatabase, writeAccessSecurity, writeCommitSubstitute, writeExchangeServerAttributes, writeForget, writeLocalCommit, writeLocalRollback, writeLocalXACommit, writeLocalXARollback, writeLocalXAStart, writeNullXID, writeReleaseConversation, writeSecurityCheck, writeSYNCType, writeXaCommit, writeXaEndUnitOfWork, writeXAFlags, writeXaForget, writeXaPrepare, writeXaRecover, writeXaRollback, writeXaStartUnitOfWork, writeXATimeout, writeXID
-
Methods inherited from class org.apache.derby.client.net.Request
buildTripletHeader, createCommand, createCommandData, createEncryptedCommandData, flush, initialize, markForCachingPKGNAMCSN, markLengthBytes, popMarkForCachingPKGNAMCSN, setCorrelationID, setDssLengthLocation, updateLengthBytes, write1Byte, write2Bytes, write4Bytes, writeBigDecimal, writeBoolean, writeBytes, writeBytes, writeCodePoint4Bytes, writeDate, writeDouble, writeFloat, writeInt, writeIntFdocaData, writeLDBytes, writeLengthCodePoint, writeLidAndLengths, writeLong, writeLong6Bytes, writeLongFdocaData, writeScalar1Byte, writeScalar2Bytes, writeScalar4Bytes, writeScalar8Bytes, writeScalarBytes, writeScalarBytes, writeScalarPaddedBytes, writeScalarStream, writeScalarStream, writeScalarStream, writeScalarStream, writeScalarString, writeScalarString, writeShort, writeShortFdocaData, writeSingleorMixedCcsidLDString, writeTime, writeTimestamp, writeUDT
-
-
-
-
Constructor Detail
-
NetStatementRequest
NetStatementRequest(NetAgent netAgent, int bufferSize)
-
-
Method Detail
-
writeExecuteImmediate
public void writeExecuteImmediate(NetStatement materialStatement, java.lang.String sql, Section section) throws SqlException
- Specified by:
writeExecuteImmediate
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writePrepareDescribeOutput
public void writePrepareDescribeOutput(NetStatement materialStatement, java.lang.String sql, Section section) throws SqlException
- Specified by:
writePrepareDescribeOutput
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writePrepare
public void writePrepare(NetStatement materialStatement, java.lang.String sql, Section section) throws SqlException
- Specified by:
writePrepare
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writeExecute
public void writeExecute(NetPreparedStatement materialPreparedStatement, Section section, ColumnMetaData parameterMetaData, java.lang.Object[] inputs, int numInputColumns, boolean outputExpected, boolean chained) throws SqlException
- Specified by:
writeExecute
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writeOpenQuery
public void writeOpenQuery(NetPreparedStatement materialPreparedStatement, Section section, int fetchSize, int resultSetType, int numInputColumns, ColumnMetaData parameterMetaData, java.lang.Object[] inputs) throws SqlException
- Specified by:
writeOpenQuery
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writeOpenQuery
public void writeOpenQuery(NetStatement materialStatement, Section section, int fetchSize, int resultSetType) throws SqlException
- Specified by:
writeOpenQuery
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writeDescribeInput
public void writeDescribeInput(NetPreparedStatement materialPreparedStatement, Section section) throws SqlException
- Specified by:
writeDescribeInput
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writeDescribeOutput
public void writeDescribeOutput(NetPreparedStatement materialPreparedStatement, Section section) throws SqlException
- Specified by:
writeDescribeOutput
in interfaceStatementRequestInterface
- Throws:
SqlException
-
writeExecuteCall
public void writeExecuteCall(NetStatement materialStatement, boolean outputExpected, java.lang.String procedureName, Section section, int fetchSize, boolean suppressResultSets, int resultSetType, ColumnMetaData parameterMetaData, java.lang.Object[] inputs) throws SqlException
- Specified by:
writeExecuteCall
in interfaceStatementRequestInterface
- Throws:
SqlException
-
buildOPNQRY
private void buildOPNQRY(Section section, boolean sendQueryRowSet, int fetchSize) throws SqlException
- Throws:
SqlException
-
buildEXCSQLIMM
private void buildEXCSQLIMM(Section section, boolean sendQryinsid, long qryinsid) throws SqlException
- Throws:
SqlException
-
buildPRPSQLSTT
private void buildPRPSQLSTT(Section section, java.lang.String sql, boolean sendRtnsqlda, boolean sendTypsqlda, int typsqlda) throws SqlException
- Throws:
SqlException
-
buildEXCSQLSET
private void buildEXCSQLSET(Section section) throws SqlException
- Throws:
SqlException
-
buildEXCSQLSTT
private void buildEXCSQLSTT(Section section, boolean sendOutexp, boolean outexp, boolean sendPrcnam, java.lang.String prcnam, boolean sendQryblksz, boolean sendMaxrslcnt, int maxrslcnt, boolean sendMaxblkext, int maxblkext, boolean sendRslsetflg, int resultSetFlag, boolean sendQryrowset, int qryrowset) throws SqlException
- Throws:
SqlException
-
buildDSCSQLSTT
private void buildDSCSQLSTT(Section section, boolean sendTypsqlda, int typsqlda) throws SqlException
- Throws:
SqlException
-
buildSQLDTAcommandData
private boolean buildSQLDTAcommandData(int numInputColumns, ColumnMetaData parameterMetaData, java.lang.Object[] inputRow) throws SqlException
- Throws:
SqlException
-
buildFDODSC
private void buildFDODSC(int numColumns, int[][] protocolTypesAndLengths, boolean overrideExists, java.util.Hashtable overrideMap, java.util.ArrayList overrideArray) throws SqlException
- Throws:
SqlException
-
buildSQLDTA
private void buildSQLDTA(int numColumns, int[][] lidAndLengthOverrides, boolean overrideExists, java.util.Hashtable overrideMap, java.util.ArrayList overrideArray) throws SqlException
- Throws:
SqlException
-
buildSQLDTAGRP
private void buildSQLDTAGRP(int numVars, int[][] lidAndLengthOverrides, boolean mddRequired, java.util.Hashtable overrideMap) throws SqlException
- Throws:
SqlException
-
buildOUTOVR
protected void buildOUTOVR(ClientResultSet resultSet, ColumnMetaData resultSetMetaData) throws SqlException
- Throws:
SqlException
-
calculateOUTOVRLidAndLengthOverrides
private int[][] calculateOUTOVRLidAndLengthOverrides(ClientResultSet resultSet, ColumnMetaData resultSetMetaData)
-
buildSQLDTARD
private void buildSQLDTARD(int numColumns, int[][] lidAndLengthOverrides) throws SqlException
- Throws:
SqlException
-
buildSQLCADTA
private void buildSQLCADTA(int numColumns, int[][] lidAndLengthOverrides) throws SqlException
- Throws:
SqlException
-
buildFDODTA
private void buildFDODTA(int numVars, int[][] protocolTypesAndLengths, java.lang.Object[] inputs) throws SqlException
- Throws:
SqlException
-
buildEXTDTA
private void buildEXTDTA(ColumnMetaData parameterMetaData, java.lang.Object[] inputRow, boolean chained) throws SqlException
- Throws:
SqlException
-
retrievePromotedParameterIfExists
private java.lang.Object retrievePromotedParameterIfExists(int index)
-
calculateColumnsInSQLDTAGRPtriplet
private int calculateColumnsInSQLDTAGRPtriplet(int numVars)
-
computeProtocolTypesAndLengths
private java.util.Hashtable computeProtocolTypesAndLengths(java.lang.Object[] inputRow, ColumnMetaData parameterMetaData, int[][] lidAndLengths, java.util.Hashtable overrideMap) throws SqlException
- Throws:
SqlException
-
buildPlaceholderLength
private int buildPlaceholderLength(long totalLength)
-
buildOUTEXP
private void buildOUTEXP(boolean outputExpected) throws SqlException
- Throws:
SqlException
-
buildMAXBLKEXT
void buildMAXBLKEXT(int maxNumOfExtraBlocks) throws SqlException
- Throws:
SqlException
-
buildQRYROWSET
void buildQRYROWSET(int fetchSize) throws SqlException
- Throws:
SqlException
-
buildPRCNAM
private void buildPRCNAM(java.lang.String prcnam) throws SqlException
- Throws:
SqlException
-
buildQRYBLKSZ
void buildQRYBLKSZ() throws SqlException
- Throws:
SqlException
-
buildMAXRSLCNT
private void buildMAXRSLCNT(int maxResultSetCount) throws SqlException
- Throws:
SqlException
-
buildRDBCMTOK
private void buildRDBCMTOK() throws SqlException
- Throws:
SqlException
-
buildRSLSETFLG
private void buildRSLSETFLG(int resultSetFlag) throws SqlException
- Throws:
SqlException
-
buildQRYINSID
void buildQRYINSID(long qryinsid) throws SqlException
- Throws:
SqlException
-
buildRTNSQLDA
private void buildRTNSQLDA() throws SqlException
- Throws:
SqlException
-
buildTYPSQLDA
private void buildTYPSQLDA(int typeSqlda) throws SqlException
- Throws:
SqlException
-
buildQRYCLSIMP
private void buildQRYCLSIMP()
Build QRYCLSIMP (Query Close Implicit). Query Close Implicit controls whether the target server implicitly closes a non-scrollable query upon end of data (SQLSTATE 02000).
-
setFDODTALobLength
private void setFDODTALobLength(int[][] protocolTypesAndLengths, int i, long dataLength) throws SqlException
- Throws:
SqlException
-
setFDODTALobLengthUnknown
private void setFDODTALobLengthUnknown(int i) throws SqlException
- Throws:
SqlException
-
checkSendQryrowset
private boolean checkSendQryrowset(int fetchSize, int resultSetType)
-
checkFetchsize
private int checkFetchsize(int fetchSize, int resultSetType)
-
calculateResultSetFlags
private int calculateResultSetFlags()
-
writeSetSpecialRegister
public void writeSetSpecialRegister(Section section, java.util.ArrayList sqlsttList) throws SqlException
- Specified by:
writeSetSpecialRegister
in interfaceStatementRequestInterface
- Throws:
SqlException
-
allocateLidAndLengthsArray
private int[][] allocateLidAndLengthsArray(ColumnMetaData parameterMetaData)
-
buildMddOverrides
private void buildMddOverrides(java.util.ArrayList sdaOverrides) throws SqlException
- Throws:
SqlException
-
setFDODTALob
private void setFDODTALob(int securityMechanism, Lob lob, int[][] protocolTypesAndLengths, int i) throws SqlException, java.sql.SQLException
- Throws:
SqlException
java.sql.SQLException
-
-