db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew McIntyre (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-343) Clean up DRDA classes handling of OPNQRY options
Date Thu, 09 Jun 2005 15:13:18 GMT
     [ http://issues.apache.org/jira/browse/DERBY-343?page=all ]

Andrew McIntyre updated DERBY-343:
----------------------------------

    Fix Version: 10.1.0.0
                     (was: 10.2.0.0)

> Clean up DRDA classes handling of OPNQRY options
> ------------------------------------------------
>
>          Key: DERBY-343
>          URL: http://issues.apache.org/jira/browse/DERBY-343
>      Project: Derby
>         Type: Sub-task
>   Components: Network Server
>     Versions: 10.0.2.1, 10.0.2.0
>     Reporter: Philip Wilder
>     Assignee: Philip Wilder
>     Priority: Minor
>      Fix For: 10.1.0.0
>  Attachments: Derby213.diff
>
> The follow is a list of changes to be implemented in the DRDAConnThread, DRDAStatement
and DRDAResultSet. It is hoped that these changes will clean up code related to DERBY-213
and make the fix easier to implement.
> ###################################
> Step 1:
> In org.apache.derby.impl.drda.DRDAResultSet add
> public static final int QRYCLSIMP_DEFAULT = CodePoint.QRYCLSIMP_NO;
> ############################
> Step 2:
> Copy the org.apache.derby.impl.drda.DRDAStatement.setOPNQRYOptions() method to the org.apache.derby.impl.drda.DRDAResultSet
class and 
> change the logic of set setOPNQRYOptions() to remove the setting of the qryclsimp value
to QRYCLSIMP_SERVER_CHOICE. Only the values of YES or NO will ever be stored internally.
> e.g.
> DRDAResultSet.setOPNQRYOptions(int blksize, int qryblkctl, int maxblkext, int outovropt,
int qryrowset, 
>     int qryclsimpl) {
> 	this.blksize = blksize;
> 	setQryprctyp(qryblkctl);
> 	this.maxblkext = maxblkext;
> 	this.outovropt = outovropt;
> 	this.qryrowset = qryrowset;
> 	this.qryclsimp = (qryclsimpl == CodePoint.QRYCLSIMP_SERVER_CHOICE)
> 			? DRDAResultSet.QRYCLSIMP_DEFAULT : qryclsimpl;
> }
> Thereafter change to the DRDAStatement.setOPNQRYOptions() to a delegation method which
calls the method in DRDAResultSet
> e.g.
> DRDAStatement.setOPNQRYOptions(int blksize, int qryblkctl, 								  int maxblkext, int
outovropt,int qryrowset,int qryclsimpl)
> {
>     currentDrdaRs.setOPNQRYOptions(blksize, qryblkctl, maxblkext, 
>         outovropt, qryrowset, qryclsimpl);
> }
> ###################################
> Step 3:
> Add org.apache.derby.impl.drda.DRDAResultSet.isRSCloseImplicit() which will test to see
if the resultset should close implicitly
> e.g.
> boolean DRDAResultSet.isRSCloseImplicit() {
> 	return currentDrdaRs.qryclsimp == CodePoint.QRYCLSIMP_YES && 
> 		stmt.getQryprctyp() != CodePoint.LMTBLKPRC
> }
> Then add a corresponding delegation method in org.apache.derby.impl.drda.DRDAStatement()
> boolean DRDAStatement.isRSCloseImplicit() {
> 	return currentDrdaRs.isRSCloseImplicit();
> }
> ###################################
> Step 4:
> Remove org.apache.derby.impl.drda.DRDAStatment.setQryclsimp(int value)
> ###################################
> Step 5: 
> Remove all references to 
> if (qryclsimp == CodePoint.QRYCLSIMP_YES &&
> 	stmt.getQryprctyp() != CodePoint.LMTBLKPRC)  { ...
> logic and replace with 
> if (drdaStatement.isRSCloseImplicit()) { ...
> This should remove all references to org.apache.derby.impl.drda.DRDAStatment.getQryclsimp()
which can in turn be removed.
> ###################################
> Step 6: 
> In org.apache.derby.drda.impl.DRDAResultSet change:
> protected int qryclsimp
> to
> private int qryclsimp;
> ###################################
> Step 7:
> In org.apache.derby.drda.impl.DRDAConnThread.parseOPNQRY() change the line
> int qryclsimp = CodePoint.QRYCLSIMP_DEFAULT;
> to 
> int qryclsimp = DRDAResultSet.QRYCLSIMP_DEFAULT
> ###################################
> Step 8:
> In org.apache.derby.drda.impl.CodePoint remove
> static final int QRYCLSIMP_DEFAULT = QRYCLSIMP_SERVER_CHOICE;
> ###################################
> Step 9: Insure that the new methods and changed methods have appropriate java documentation.
> ###################################
> Step 10: Organize the import for the DRDAConnThread, DRDAStatement and DRDAResultSet
classes found in the org.apache.derby.drda.impl package.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message