|
|||||||||
| Home >> All >> org >> apache >> derby >> impl >> [ drda overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.derby.impl.drda
Class DRDAConnThread

java.lang.Objectjava.lang.Thread
org.apache.derby.impl.drda.DRDAConnThread
- All Implemented Interfaces:
- java.lang.Runnable
- public class DRDAConnThread
- extends java.lang.Thread
| Nested Class Summary |
| Nested classes inherited from class java.lang.Thread |
java.lang.Thread.UncaughtExceptionHandler |
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
DRDAConnThread(Session session,
NetworkServerControlImpl server,
long timeSlice,
boolean logConnections)
Create a new Thread for processing session requests |
|
| Method Summary | |
private void |
addDatabase(java.lang.String dbname)
Add a database to the current session |
protected void |
agentError(java.lang.String msg)
Agent error - something very bad happened |
private void |
badObjectLength(int codePoint)
Object length not allowed |
private java.lang.String |
buildPreformattedSqlerrmc(java.sql.SQLException se)
Build preformatted SQLException text for severe exceptions or SQLExceptions that are not EmbedSQLExceptions. |
protected java.lang.String |
buildRuntimeInfo(java.lang.String indent,
org.apache.derby.iapi.tools.i18n.LocalizedResource localLangUtil)
|
private java.lang.String |
buildSqlerrmc(java.sql.SQLException se)
Create error message or message argements to return to client. |
private java.lang.String |
buildTokenizedSqlerrmc(org.apache.derby.impl.jdbc.EmbedSQLException se)
Build Tokenized SQLERRMC to just send the tokenized arguments to the client. |
private boolean |
canIgnoreStmt(java.lang.String stmt)
|
private void |
checkLength(int codepoint,
int reqlen)
Check that the length is equal to the required length for this codepoint |
private void |
checkRequired(int codePoint)
Check whether we have seen all the required code points |
private void |
checkValidTypDefNam(java.lang.String typdefnam)
check that the given typdefnam is acceptable |
private void |
checkWarning(java.sql.Connection conn,
java.sql.Statement stmt,
java.sql.ResultSet rs,
int updateCount,
boolean alwaysSend,
boolean sendWarn)
Check SQLWarning and write SQLCARD as needed. |
protected void |
close()
Close DRDA connection thread |
private boolean |
closed()
Test if DRDA connection thread is closed |
private void |
closeSession()
Close the current session |
protected void |
codePointNotSupported(int codePoint)
Don't support this code point |
private java.lang.String |
convertToHexString(byte[] buf)
convert byte array to a Hex string |
private void |
copyToRequired(int[] req)
Copy a list of required code points to template for checking |
private void |
doneData(DRDAStatement stmt,
java.sql.ResultSet rs)
Done data Send SQLCARD for the end of the data |
private void |
errorInChain(java.sql.SQLException e)
If there's a severe error in the DDM chain, and if the header indicates "terminate chain on error", we stop processing further commands in the chain nor do we send any reply for them. |
private void |
exchangeServerAttributes()
Exchange server attributes with application requester |
private void |
finalizeChain()
Finalize the current DSS chain and send it if needed. |
private int |
getByteOrder()
|
private int |
getConnFromDatabaseName()
Get connection from a database name Username and password is verified by making a connection to the database |
protected int |
getCorrelationID()
Get correlation id |
protected byte[] |
getCrrtkn()
Get correlation token |
protected Database |
getDatabase()
Get Database we are working on |
protected java.lang.String |
getDbName()
Get database name |
private int |
getExceptionSeverity(java.sql.SQLException e)
Translate from Cloudscape exception severity to SVRCOD |
protected java.io.InputStream |
getInputStream()
Get input stream |
private boolean |
getLogConnections()
Get whether connections are logged |
protected java.io.OutputStream |
getOutputStream()
Get output stream |
private int |
getRdbAccessErrorCodePoint()
|
protected DDMReader |
getReader()
get DDMReader |
protected NetworkServerControlImpl |
getServer()
Get server |
protected Session |
getSession()
Get session we are working on |
private int |
getSqlCode(int severity)
|
private long |
getTimeSlice()
Get time slice value for length of time to work on a session |
protected DDMWriter |
getWriter()
get DDMWriter |
private void |
handleException(java.lang.Exception e)
Handle Exceptions - write error protocol if appropriate and close session or thread as appropriate |
private void |
initialize()
Initialize class |
private void |
initializeForSession()
Initialize for a new session |
protected void |
invalidCodePoint(int codePoint)
Invalid codepoint for this command |
private void |
invalidValue(int codePoint)
Invalid value for this code point |
protected void |
markCommunicationsFailure(java.lang.String arg1,
java.lang.String arg2,
java.lang.String arg3,
java.lang.String arg4)
Indicate a communications failure |
protected void |
missingCodePoint(int codePoint)
Missing code point |
private int |
parseACCRDB()
Parse access RDB Instance variables RDBACCCL - RDB Access Manager Class - required must be SQLAM CRRTKN - Correlation Token - required RDBNAM - Relational database name -required PRDID - Product specific identifier - required TYPDEFNAM - Data Type Definition Name -required TYPDEFOVR - Type definition overrides -required RDBALWUPD - RDB Allow Updates optional PRDDTA - Product Specific Data - optional - ignorable STTDECDEL - Statement Decimal Delimiter - optional STTSTRDEL - Statement String Delimiter - optional TRGDFTRT - Target Default Value Return - optional |
private int |
parseACCSEC()
Parse Access Security If the target server supports the SECMEC requested by the application requester then a single value is returned and it is identical to the SECMEC value in the ACCSEC command. |
private java.lang.String |
parseCcsidMBC(int length)
Parse mixed character string |
private java.lang.String |
parseCcsidSBC(int length)
Parse single byte character string |
private DRDAStatement |
parseCLSQRY()
Parse CLSQRY Instance Variables RDBNAM - relational database name - optional PKGNAMCSN - RDB Package Name, Consistency Token and Section Number - required QRYINSID - Query Instance Identifier - required - level 7 MONITOR - Monitor events - optional. |
private DRDAStatement |
parseCNTQRY()
Parse CNTQRY - Continue Query Instance Variables RDBNAM - Relational Database Name - optional PKGNAMCSN - RDB Package Name, Consistency Token, and Section Number - required QRYBLKSZ - Query Block Size - required QRYRELSCR - Query Relative Scrolling Action - optional QRYSCRORN - Query Scroll Orientation - optional - level 7 QRYROWNBR - Query Row Number - optional QRYROWSNS - Query Row Sensitivity - optional - level 7 QRYBLKRST - Query Block Reset - optional - level 7 QRYRTNDTA - Query Returns Data - optional - level 7 QRYROWSET - Query Rowset Size - optional - level 7 QRYRFRTBL - Query Refresh Answer Set Table - optional NBRROW - Number of Fetch or Insert Rows - optional MAXBLKEXT - Maximum number of extra blocks - optional RTNEXTDTA - Return of EXTDTA Option - optional MONITOR - Monitor events - optional. |
private void |
parseCNTQRYobjects(DRDAStatement stmt)
Parse CNTQRY objects Instance Variables OUTOVR - Output Override Descriptor - optional |
private boolean |
parseDRDAConnection()
|
private boolean |
parseDSCSQLSTT()
Parse DSCSQLSTT - Describe SQL Statement previously prepared Instance Variables TYPSQLDA - sqlda type expected (output or input) RDBNAM - relational database name - optional PKGNAMCSN - RDB Package Name, Consistency Token and Section Number - required MONITOR - Monitor events - optional. |
private java.lang.String |
parseEncodedString()
Parse an encoded data string from the Application Requester |
private void |
parseEXCSAT()
Parses EXCSAT (Exchange Server Attributes) Instance variables EXTNAM(External Name) - optional MGRLVLLS(Manager Levels) - optional SPVNAM(Supervisor Name) - optional SRVCLSNM(Server Class Name) - optional SRVNAM(Server Name) - optional, ignorable SRVRLSLV(Server Product Release Level) - optional, ignorable |
private void |
parseEXCSAT2()
Parses EXCSAT2 (Exchange Server Attributes) Instance variables EXTNAM(External Name) - optional MGRLVLLS(Manager Levels) - optional SPVNAM(Supervisor Name) - optional SRVCLSNM(Server Class Name) - optional SRVNAM(Server Name) - optional, ignorable SRVRLSLV(Server Product Release Level) - optional, ignorable |
private int |
parseEXCSQLIMM()
Parse EXCSQLIMM - Execute Immediate Statement Instance Variables RDBNAM - relational database name - optional PKGNAMCSN - RDB Package Name, Consistency Token and Section Number - required RDBCMTOK - RDB Commit Allowed - optional MONITOR - Monitor Events - optional Command Objects TYPDEFNAM - Data Type Definition Name - optional TYPDEFOVR - TYPDEF Overrides -optional SQLSTT - SQL Statement -required |
private boolean |
parseEXCSQLSET()
Parse EXCSQLSET - Execute Set SQL Environment Instance Variables RDBNAM - relational database name - optional PKGNAMCT - RDB Package Name, Consistency Token - optional MONITOR - Monitor Events - optional Command Objects TYPDEFNAM - Data Type Definition Name - required TYPDEFOVR - TYPDEF Overrides - required SQLSTT - SQL Statement - required (at least one; may be more) |
private void |
parseEXCSQLSETobjects()
Parse EXCSQLSET objects Objects TYPDEFNAM - Data type definition name - optional TYPDEFOVR - Type defintion overrides - optional SQLSTT - SQL Statement - required (a list of at least one) Objects may follow in one DSS or in several DSS chained together. |
private void |
parseEXCSQLSTT()
Parse EXCSQLSTT - Execute non-cursor SQL Statement previously prepared Instance Variables RDBNAM - relational database name - optional PKGNAMCSN - RDB Package Name, Consistency Token and Section Number - required OUTEXP - Output expected NBRROW - Number of rows to be inserted if it's an insert PRCNAM - procedure name if specified by host variable, not needed for Cloudscape QRYBLKSZ - query block size MAXRSLCNT - max resultset count MAXBLKEXT - Max number of extra blocks RSLSETFLG - resultset flag RDBCMTOK - RDB Commit Allowed - optional OUTOVROPT - output override option QRYROWSET - Query Rowset Size - Level 7 MONITOR - Monitor events - optional. |
private void |
parseEXCSQLSTTobjects(DRDAStatement stmt)
Parse EXCSQLSTT command objects Command Objects TYPDEFNAM - Data Type Definition Name - optional TYPDEFOVR - TYPDEF Overrides -optional SQLDTA - optional, variable data, specified if prpared statement has input parameters EXTDTA - optional, externalized FD:OCA data OUTOVR - output override descriptor, not allowed for stored procedure calls If TYPDEFNAM and TYPDEFOVR are supplied, they apply to the objects sent with the statement. |
private java.lang.String |
parseEXECSQLIMMobjects()
Parse EXCSQLIMM objects Objects TYPDEFNAM - Data type definition name - optional TYPDEFOVR - Type defintion overrides SQLSTT - SQL Statement required If TYPDEFNAM and TYPDEFOVR are supplied, they apply to the objects sent with the statement. |
private void |
parseMGRLVLLS(int time)
Parse manager levels Instance variables MGRLVL - repeatable, required CODEPOINT CCSIDMGR - CCSID Manager CMNAPPC - LU 6.2 Conversational Communications Manager CMNSYNCPT - SNA LU 6.2 SyncPoint Conversational Communications Manager CMNTCPIP - TCP/IP Communication Manager DICTIONARY - Dictionary RDB - Relational Database RSYNCMGR - Resynchronization Manager SECMGR - Security Manager SQLAM - SQL Application Manager SUPERVISOR - Supervisor SYNCPTMGR - Sync Point Manager VALUE On the second appearance of this codepoint, it can only add managers |
private void |
parseMONITOR()
Parse MONITOR DRDA spec says this is optional. |
private java.lang.String |
parseNOCMorNOCS()
Parse nullable character mixed byte or nullable character single byte Format 1 byte - null indicator I4 - mixed character length N bytes - mixed character string 1 byte - null indicator I4 - single character length N bytes - single character length string |
private java.lang.String |
parseOPNQRY()
Parse OPNQRY Instance Variables RDBNAM - relational database name - optional PKGNAMCSN - RDB Package Name, Consistency Token and Section Number - required QRYBLKSZ - Query Block Size - required QRYBLKCTL - Query Block Protocol Control - optional MAXBLKEXT - Maximum Number of Extra Blocks - optional - default value 0 OUTOVROPT - Output Override Option QRYROWSET - Query Rowset Size - optional - level 7 MONITOR - Monitor events - optional. |
private void |
parseOPNQRYobjects(DRDAStatement stmt)
Parse OPNQRY objects Objects TYPDEFNAM - Data type definition name - optional TYPDEFOVR - Type defintion overrides - optional SQLDTA- SQL Program Variable Data - optional If TYPDEFNAM and TYPDEFOVR are supplied, they apply to the objects sent with the statement. |
private void |
parseOUTOVR(DRDAStatement stmt)
Parse OUTOVR - Output Override Descriptor This specifies the output format for data to be returned as output to a SQL statement or as output from a query. |
private int |
parseOUTOVROPT()
Parse OUTOVROPT - this indicates whether output description can be overridden on just the first CNTQRY or on any CNTQRY |
private java.lang.String |
parsePKGNAMCSN()
Parse PKGNAMCSN - RDB Package Name, Consistency Token, and Section Number Instance Variables NAMESYMDR - database name - not validated RDBCOLID - RDB Collection Identifier PKGID - RDB Package Identifier PKGCNSTKN - RDB Package Consistency Token PKGSN - RDB Package Section Number |
private java.lang.String |
parsePKGNAMCT()
|
private int |
parsePRPSQLSTT()
Parse PRPSQLSTT - Prepare SQL Statement Instance Variables RDBNAM - Relational Database Name - optional PKGNAMCAN - RDB Package Name, Consistency Token, and Section Number - required RTNSQLDA - Return SQL Descriptor Area - optional MONITOR - Monitor events - optional. |
private java.lang.String |
parsePRPSQLSTTobjects(DRDAStatement stmt)
Parse PRPSQLSTT objects Objects TYPDEFNAM - Data type definition name - optional TYPDEFOVR - Type defintion overrides - optional SQLSTT - SQL Statement required SQLATTR - Cursor attributes on prepare - optional - level 7 If TYPDEFNAM and TYPDEFOVR are supplied, they apply to the objects sent with the statement. |
private int |
parseQRYBLKSZ()
Parse QRYBLSZ - this gives the maximum size of the query blocks that can be returned to the requester |
private int |
parseQRYCLSIMP()
Parse a QRYCLSIMP - Implicitly close non-scrollable cursor after end of data. |
private int |
parseQRYCLSRLS()
|
private int |
parseQRYOPTVAL()
|
private int |
parseQRYROWSET(int minVal)
Parse QRYROWSET - this is the number of rows to return |
private void |
parseRDBCMTOK()
Parse RDBCMTOK - tells the database whether to allow commits or rollbacks to be executed as part of the command Since we don't have a SQL commit or rollback command, we will just ignore this for now |
private java.lang.String |
parseRDBNAM()
Parse database name |
private int |
parseSECCHK()
Parse security check Instance Variables SECMGRNM - security manager name - optional, ignorable SECMEC - security mechanism - required SECTKN - security token - optional, (required if encryption used) PASSWORD - password - optional, (required if security mechanism uses it) NEWPASSWORD - new password - optional, (required if sec mech. |
protected void |
parseSQLATTR(DRDAStatement stmt)
Parse SQLATTR - Cursor attributes on prepare This is an encoded string. |
private void |
parseSQLDTA_work(DRDAStatement stmt)
Parse SQLDTA - SQL program variable data Instance Variables FDODSC - FD:OCA data descriptor - required FDODTA - FD:OCA data - optional |
private void |
parseSQLDTA(DRDAStatement stmt)
Parse SQLDTA - SQL program variable data and handle exception. |
private java.lang.String |
parseSQLSTTDss()
Parse SQLSTT Dss |
private java.lang.String |
parseTYPDEFNAM()
Parse TYPDEFNAM |
private void |
parseTYPDEFOVR(DRDAStatement st)
Parse Type Defintion Overrides TYPDEF Overrides specifies the Coded Character SET Identifiers (CCSIDs) that are in a named TYPDEF. |
private boolean |
parseTYPSQLDA()
Parse TYPSQLDA - Type of the SQL Descriptor Area |
private java.lang.String |
parseVCMorVCS()
Parse variable character mixed byte or variable character single byte Format I2 - VCM Length N bytes - VCM value I2 - VCS Length N bytes - VCS value Only 1 of VCM length or VCS length can be non-zero |
private boolean |
positionCursor(DRDAStatement stmt,
java.sql.ResultSet rs)
Position cursor for insensitive scrollable cursors |
protected static void |
println2Log(java.lang.String dbname,
java.lang.String drdaID,
java.lang.String msg)
Print a line to the DB2j log |
private void |
processCommands()
Process DRDA commands we can receive once server attributes have been exchanged. |
private void |
rdbnamMismatch(int codePoint)
Database name given under code point doesn't match previous database names |
private void |
rdbNotFound(java.lang.String rdbnam)
RDB not found |
private void |
readAndSetAllExtParams(DRDAStatement stmt)
|
private void |
readAndSetExtParam(int i,
DRDAStatement stmt,
int drdaType,
int extLen)
Read different types of input parameters and set them in PreparedStatement |
private java.util.ArrayList |
readAndSetParams(int i,
DRDAStatement stmt,
int drdaType,
org.apache.derby.impl.jdbc.EmbedParameterSetMetaData pmeta,
java.util.ArrayList paramExtPositions,
int paramLenNumBytes)
Read different types of input parameters and set them in PreparedStatement |
private boolean |
readBoolean(int codepoint)
Read and check a boolean value |
private long |
readLobLength(int extLenIndicator)
|
private void |
removeFromRequired(int codePoint)
Remove codepoint from required list |
void |
run()
Main routine for thread, loops until the thread is closed Gets a session, does work for the session |
private void |
sendUnexpectedException(java.lang.Exception e)
Send unpexpected error to the client |
private void |
sessionInitialState()
In initial state for a session, determine whether this is a command session or a DRDA protocol session. |
private void |
setDatabase(int codePoint)
Set the current database |
protected void |
setLogConnections(boolean value)
Set logging of connections |
private void |
setStmtOrDbByteOrder(boolean setDatabase,
DRDAStatement stmt,
java.lang.String typDefNam)
Set a statement or the database' byte order, depending on the arguments |
protected void |
setTimeSlice(long value)
Set time slice value |
static void |
showmem()
Show runtime memory |
private void |
skipRemainder(boolean onlySkipSameIds)
Skip remainder of current DSS and all chained DSS'es |
private void |
splitQRYDTA(DRDAStatement stmt,
int blksize)
Split QRYDTA into blksize chunks |
private int |
svrcodFromSecchkcd(int securityCheckCode)
Calculate SVRCOD value from SECCHKCD |
protected void |
throwSyntaxrm(int errcd,
int cpArg)
Syntax error |
private void |
tooBig(int codePoint)
Object too big |
private void |
tooMany(int codePoint)
Seen too many of this code point |
protected void |
trace(java.lang.String value)
Send string to console |
private void |
valueNotSupported(int codePoint)
Don't support this value |
private void |
verifyInOrderACCSEC_SECCHK(int codePoint,
int reqCodePoint)
Verify that the code point is in the right order |
private void |
verifyRequiredObject(int codePoint,
int reqCodePoint)
Verify that the code point is the required code point |
private int |
verifyUserIdPassword()
Verify userId and password Username and password is verified by making a connection to the database |
private void |
writeABNUOWRM()
Write ABNUOWRM - query process has terminated in an error condition such as deadlock or lock timeout. |
private void |
writeACCRDBRM(int svrcod)
Write Access to RDB Completed Instance Variables SVRCOD - severity code - 0 info, 4 warning -required PRDID - product specific identifier -required TYPDEFNAM - type definition name -required TYPDEFOVR - type definition overrides - required RDBINTTKN - token which can be used to interrupt DDM commands - optional CRRTKN - correlation token - only returned if we didn't get one from requester SRVDGN - server diagnostic information - optional PKGDFTCST - package default character subtype - optional USRID - User ID at the target system - optional SRVLST - Server List |
private void |
writeACCSECRD(int securityCheckCode)
Write ACCSECRD If the security mechanism is known, we just send it back along with the security token if encryption is going to be used. |
private void |
writeCMDCHKRM(int severity)
Write CMDCHKRM Instance Variables SVRCOD - Severity Code - required |
private void |
writeENDQRYRM(int svrCod)
Write ENDQRYRM - query process has terminated in such a manner that the query or result set is now closed. |
private void |
writeENDUOWRM(int opType)
Write ENDUOWRM Instance Variables SVCOD - severity code - WARNING - required UOWDSP - Unit of Work Disposition - required RDBNAM - Relational Database name - optional SRVDGN - Server Diagnostics information - optional |
private void |
writeEXCSATRD()
Write reply to EXCSAT command Instance Variables EXTNAM - External Name (optional) MGRLVLLS - Manager Level List (optional) SRVCLSNM - Server Class Name (optional) - used by JCC SRVNAM - Server Name (optional) SRVRLSLV - Server Product Release Level (optional) |
(package private) void |
writeEXTDTA(DRDAStatement stmt)
|
protected void |
writeFdocaVal(int index,
java.lang.Object val,
int drdaType,
int precision,
int scale,
boolean valNull,
DRDAStatement stmt)
Write Fdoca Value to client |
private boolean |
writeFDODTA(DRDAStatement stmt)
|
private void |
writeMGRLEVELS()
Write manager levels The target server must not provide information for any target managers unless the source explicitly requests it. |
private void |
writeNullability(int drdaType,
boolean valNull)
write nullability if this is a nullable drdatype and FDOCA null value if appropriate |
private void |
writeNullSQLCARDobject()
Write a null SQLCARD as an object |
private void |
writeOPNQFLRM(java.sql.SQLException e)
Write a OPNQFLRM - Open Query Failure Instance Variables SVRCOD - Severity Code - required - 8 ERROR RDBNAM - Relational Database Name - required |
private void |
writeOPNQRYRM(boolean isDssObject,
DRDAStatement stmt)
Write OPNQRYRM - Open Query Complete Instance Variables SVRCOD - Severity Code - required QRYPRCTYP - Query Protocol Type - required SQLCSRHLD - Hold Cursor Position - optional QRYATTSCR - Query Attribute for Scrollability - optional - level 7 QRYATTSNS - Query Attribute for Sensitivity - optional - level 7 QRYATTUPD - Query Attribute for Updatability -optional - level 7 QRYINSID - Query Instance Identifier - required - level 7 SRVDGN - Server Diagnostic Information - optional |
private void |
writePKGNAMCSN()
|
private void |
writePKGNAMCSN(java.lang.String pkgcnstknStr)
Write PKGNAMCSN Instance Variables NAMESYMDR - database name - not validated RDBCOLID - RDB Collection Identifier PKGID - RDB Package Identifier PKGCNSTKN - RDB Package Consistency Token PKGSN - RDB Package Section Number There are two possible formats, fixed and extended which includes length information for the strings |
private void |
writeQRYDSC(DRDAStatement stmt,
boolean FDODSConly)
Write QRYDSC - Query Answer Set Description |
private void |
writeQRYDTA(DRDAStatement stmt)
Write QRYDTA - Query Answer Set Data Contains some or all of the answer set data resulting from a query returns true if there is more data, false if we reached the end Instance Variables Byte string |
private void |
writeQRYNOPRM(int svrCod)
Write a QRYNOPRM - Query Not Opened Instance Variables SVRCOD - Severity Code - required - 4 Warning 8 ERROR RDBNAM - Relational Database Name - required PKGNAMCSN - RDB Package Name, Consistency Token, and Section Number - required |
private void |
writeQRYPOPRM()
Write a QRYPOPRM - Query Previously opened Instance Variables SVRCOD - Severity Code - required - 8 ERROR RDBNAM - Relational Database Name - required PKGNAMCSN - RDB Package Name, Consistency Token, and Section Number - required |
private void |
writeRDBfailure(int codePoint)
Write RDB Failure Instance Variables SVRCOD - Severity Code - required RDBNAM - Relational Database name - required SRVDGN - Server Diagnostics - optional (not sent for now) |
protected void |
writeRDBNAM(java.lang.String rdbnam)
Write RDBNAM |
private void |
writeRDBUPDRM()
Write RDBUPDRM Instance variables SVRCOD - Severity code - Information only - required RDBNAM - Relational database name -required SRVDGN - Server Diagnostic Information -optional |
private void |
writeRSLSETRM(DRDAStatement stmt)
Write RSLSETRM Instance variables SVRCOD - Severity code - Information only - required PKGSNLST - list of PKGNAMCSN -required SRVDGN - Server Diagnostic Information -optional |
private void |
writeSECCHKRM(int securityCheckCode)
Write security check reply Instance variables SVRCOD - serverity code - required SECCHKCD - security check code - required SECTKN - security token - optional, ignorable SVCERRNO - security service error number SRVDGN - Server Diagnostic Information |
private void |
writeSQLCAERRWARN(int updateCount,
long rowCount)
Write the ERR and WARN part of the SQLCA |
private void |
writeSQLCAGRP(java.sql.SQLException e,
int sqlcode,
int updateCount,
long rowCount)
Write SQLCAGRP SQLCAGRP : FDOCA EARLY GROUP SQL Communcations Area Group Description FORMAT FOR SQLAM <= 6 SQLCODE; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLSTATE; DRDA TYPE FCS; ENVLID 0x30; Length Override 5 SQLERRPROC; DRDA TYPE FCS; ENVLID 0x30; Length Override 8 SQLCAXGRP; DRDA TYPE N-GDA; ENVLID 0x52; Length Override 0 FORMAT FOR SQLAM >= 7 SQLCODE; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLSTATE; DRDA TYPE FCS; ENVLID 0x30; Length Override 5 SQLERRPROC; DRDA TYPE FCS; ENVLID 0x30; Length Override 8 SQLCAXGRP; DRDA TYPE N-GDA; ENVLID 0x52; Length Override 0 SQLDIAGGRP; DRDA TYPE N-GDA; ENVLID 0x56; Length Override 0 |
private void |
writeSQLCARD(java.sql.SQLException e,
int severity,
int updateCount,
long rowCount)
|
private void |
writeSQLCARDs(java.sql.SQLException e,
int updateCount)
|
private void |
writeSQLCARDs(java.sql.SQLException e,
int updateCount,
boolean sendSQLERRRM)
|
private void |
writeSQLCAXGRP(int updateCount,
long rowCount,
java.lang.String sqlerrmc,
java.sql.SQLException nextException)
Write SQLCAXGRP SQLCAXGRP : EARLY FDOCA GROUP SQL Communications Area Exceptions Group Description FORMAT FOR SQLAM <= 6 SQLRDBNME; DRDA TYPE FCS; ENVLID 0x30; Length Override 18 SQLERRD1; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD2; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD3; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD4; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD5; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD6; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLWARN0; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN1; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN2; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN3; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN4; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN5; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN6; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN7; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN8; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN9; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARNA; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLERRMSG_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 70 SQLERRMSG_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 70 FORMAT FOR SQLAM >= 7 SQLERRD1; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD2; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD3; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD4; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD5; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLERRD6; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLWARN0; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN1; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN2; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN3; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN4; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN5; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN6; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN7; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN8; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARN9; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLWARNA; DRDA TYPE FCS; ENVLID 0x30; Length Override 1 SQLRDBNAME; DRDA TYPE VCS; ENVLID 0x32; Length Override 255 SQLERRMSG_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 70 SQLERRMSG_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 70 |
private void |
writeSQLCINRD(DRDAStatement stmt)
Write SQLCINRD - result set column information |
private void |
writeSQLDAGRP(java.sql.ResultSetMetaData rsmeta,
org.apache.derby.impl.jdbc.EmbedParameterSetMetaData pmeta,
int elemNum,
boolean rtnOutput)
Write SQLDAGRP SQLDAGRP : EARLY FDOCA GROUP SQL Data Area Group Description FORMAT FOR SQLAM <= 6 SQLPRECISION; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLSCALE; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLLENGTH; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLTYPE; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLCCSID; DRDA TYPE FB; ENVLID 0x26; Length Override 2 SQLNAME_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 30 SQLNAME_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 30 SQLLABEL_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 30 SQLLABEL_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 30 SQLCOMMENTS_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 254 SQLCOMMENTS_m; DRDA TYPE VCS; ENVLID 0x32; Length Override 254 FORMAT FOR SQLAM == 6 SQLPRECISION; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLSCALE; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLLENGTH; DRDA TYPE I8; ENVLID 0x16; Length Override 8 SQLTYPE; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLCCSID; DRDA TYPE FB; ENVLID 0x26; Length Override 2 SQLNAME_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 30 SQLNAME_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 30 SQLLABEL_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 30 SQLLABEL_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 30 SQLCOMMENTS_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 254 SQLCOMMENTS_m; DRDA TYPE VCS; ENVLID 0x32; Length Override 254 SQLUDTGRP; DRDA TYPE N-GDA; ENVLID 0x51; Length Override 0 FORMAT FOR SQLAM >= 7 SQLPRECISION; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLSCALE; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLLENGTH; DRDA TYPE I8; ENVLID 0x16; Length Override 8 SQLTYPE; DRDA TYPE I2; ENVLID 0x04; Length Override 2 SQLCCSID; DRDA TYPE FB; ENVLID 0x26; Length Override 2 SQLDOPTGRP; DRDA TYPE N-GDA; ENVLID 0xD2; Length Override 0 |
private void |
writeSQLDARD(DRDAStatement stmt,
boolean rtnOutput,
java.sql.SQLException e)
Write SQLDARD SQLDARD : FDOCA EARLY ARRAY SQL Descriptor Area Row Description with SQL Communications Area FORMAT FOR SQLAM <= 6 SQLCARD; ROW LID 0x64; ELEMENT TAKEN 0(all); REP FACTOR 1 SQLNUMROW; ROW LID 0x68; ELEMENT TAKEN 0(all); REP FACTOR 1 SQLDAROW; ROW LID 0x60; ELEMENT TAKEN 0(all); REP FACTOR 0(all) FORMAT FOR SQLAM >= 7 SQLCARD; ROW LID 0x64; ELEMENT TAKEN 0(all); REP FACTOR 1 SQLDHROW; ROW LID 0xE0; ELEMENT TAKEN 0(all); REP FACTOR 1 SQLNUMROW; ROW LID 0x68; ELEMENT TAKEN 0(all); REP FACTOR 1 |
private void |
writeSQLDCGRP(long rowNum,
int sqlCode,
java.lang.String sqlState,
java.lang.String dbname,
java.lang.String sqlerrmc)
writeSQLDCGRP: SQL Diagnostics Condition Group Description SQLDCCODE; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCSTATE; DRDA TYPE FCS; ENVLID Ox30; Lengeh Override 5 SQLDCREASON; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCLINEN; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCROWN; DRDA TYPE FD; ENVLID 0x0E; Lengeh Override 31 SQLDCER01; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCER02; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCER03; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCER04; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCPART; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCPPOP; DRDA TYPE I4; ENVLID 0x02; Length Override 4 SQLDCMSGID; DRDA TYPE FCS; ENVLID 0x30; Length Override 10 SQLDCMDE; DRDA TYPE FCS; ENVLID 0x30; Length Override 8 SQLDCPMOD; DRDA TYPE FCS; ENVLID 0x30; Length Override 5 SQLDCRDB; DRDA TYPE VCS; ENVLID 0x32; Length Override 255 SQLDCTOKS; DRDA TYPE N-RLO; ENVLID 0xF7; Length Override 0 SQLDCMSG_m; DRDA TYPE NVMC; ENVLID 0x3F; Length Override 32672 SQLDCMSG_S; DRDA TYPE NVCS; ENVLID 0x33; Length Override 32672 SQLDCCOLN_m; DRDA TYPE NVCM ; ENVLID 0x3F; Length Override 255 SQLDCCOLN_s; DRDA TYPE NVCS; ENVLID 0x33; Length Override 255 SQLDCCURN_m; DRDA TYPE NVCM; ENVLID 0x3F; Length Override 255 SQLDCCURN_s; DRDA TYPE NVCS; ENVLID 0x33; Length Override 255 SQLDCPNAM_m; DRDA TYPE NVCM; ENVLID 0x3F; Length Override 255 SQLDCPNAM_s; DRDA TYPE NVCS; ENVLID 0x33; Length Override 255 SQLDCXGRP; DRDA TYPE N-GDA; ENVLID 0xD3; Length Override 1 |
private void |
writeSQLDCROW(long rowNum,
int sqlCode,
java.lang.String sqlState,
java.lang.String dbname,
java.lang.String sqlerrmc)
writeSQLDCROW: SQL Diagnostics Condition Row - Identity 0xE5 SQLDCGRP; GROUP LID 0xD5; ELEMENT TAKEN 0(all); REP FACTOR 1 |
private void |
writeSQLDHROW(DRDAStatement stmt)
|
private void |
writeSQLDIAGCI(java.sql.SQLException nextException)
writeSQLDIAGCI: SQL Diagnostics Condition Information Array - Identity 0xF5 SQLNUMROW; ROW LID 0x68; ELEMENT TAKEN 0(all); REP FACTOR 1 SQLDCIROW; ROW LID 0xE5; ELEMENT TAKEN 0(all); REP FACTOR 0(all) |
private void |
writeSQLDIAGCN()
|
private void |
writeSQLDIAGGRP(java.sql.SQLException nextException)
Write SQLDIAGGRP: SQL Diagnostics Group Description - Identity 0xD1 Nullable Group SQLDIAGSTT; DRDA TYPE N-GDA; ENVLID 0xD3; Length Override 0 SQLDIAGCN; DRFA TYPE N-RLO; ENVLID 0xF6; Length Override 0 SQLDIAGCI; DRDA TYPE N-RLO; ENVLID 0xF5; Length Override 0 |
private void |
writeSQLDIAGSTT()
|
private void |
writeSQLDOPTGRP(java.sql.ResultSetMetaData rsmeta,
org.apache.derby.impl.jdbc.EmbedParameterSetMetaData pmeta,
int jdbcElemNum,
boolean rtnOutput)
|
private void |
writeSQLDTAGRP(DRDAStatement stmt,
java.sql.ResultSetMetaData rsmeta,
org.apache.derby.impl.jdbc.EmbedParameterSetMetaData pmeta,
int colStart,
int colEnd,
boolean first)
Write SQLDTAGRP SQLDAGRP : Late FDOCA GROUP SQL Data Value Group Descriptor LENGTH - length of the SQLDTAGRP TRIPLET_TYPE - NGDA for first, CPT for following ID - SQLDTAGRP_LID for first, NULL_LID for following For each column DRDA TYPE LENGTH OVERRIDE For numeric/decimal types PRECISON SCALE otherwise LENGTH or DISPLAY_WIDTH |
private void |
writeSQLDXGRP(java.sql.ResultSetMetaData rsmeta,
org.apache.derby.impl.jdbc.EmbedParameterSetMetaData pmeta,
int jdbcElemNum,
boolean rtnOutput)
|
private void |
writeSQLERRRM(int severity)
Write SQLERRRM Instance Variables SVRCOD - Severity Code - required |
private void |
writeSQLNUMGRP(java.sql.SQLException nextException)
writeSQLNUMGRP: Writes SQLNUMGRP : FDOCA EARLY GROUP SQL Number of Elements Group Description FORMAT FOR ALL SQLAM LEVELS SQLNUM; DRDA TYPE I2; ENVLID 0x04; Length Override 2 |
private void |
writeSQLNUMROW(java.sql.SQLException nextException) |
JAVADOC