[ http://issues.apache.org/jira/browse/DERBY-1700?page=all ]

Daniel John Debrunner updated DERBY-1700:
-----------------------------------------

    Attachment: derby1700_diff_p3.txt

Patch derby1700_diff_p3.txt - will commit soon, all tests pass.

Next step that changes the methods in ResultSetFactory not to have a 
closeCleanup method parameter which due to the previous patches was always 
being passed in as null. Changed all callers to not pass the null and thus 
remove the closeMethodArgument in ResultSetNode.

Since most of the calls are to ResultSetFactory  methods are by generated code 
cannot rely on compile time checks to ensure all callers are correct. Needed to 
reduced the argument count by one for the generated method call for any 
getXXXResultSet that no longer passes the closeCleanup (null) argument.  Have 
confidence in the change as derbyall passes and the code coverage numbers at 
http://wiki.apache.org/db-derby/CodeCoverage show complete coverage of these 
factory methods except for ones related to VTIs.

> Remove passing of closeCleanup method to every ResultSet type since only the 
> top ResultSet requires it.
> -------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1700
>                 URL: http://issues.apache.org/jira/browse/DERBY-1700
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Daniel John Debrunner
>         Assigned To: Daniel John Debrunner
>            Priority: Minor
>         Attachments: derby1700_diff_p1.txt, derby1700_diff_p2.txt, 
> derby1700_diff_p3.txt
>
>
> A UNION node will generate byte code to call this method:
> NoPutResultSet getUnionResultSet(NoPutResultSet source1,
> NoPutResultSet source2,
> Activation activation,
> int resultSetNumber,
> double optimizerEstimatedRowCount,
> double optimizerEstimatedCost,
> GeneratedMethod closeCleanup)
> The closeCleanup method is passed in as null for all result sets in a tree 
> except the top one. Instead of passing it on each new result set, it would be 
> much more efficient to have a setCloseMethod() that is only called once for 
> the top result set.  Could also look at having an closeCleanup method in the 
> interface and call it directly, rather than through reflection.
> This applies to any node that takes a closeCleanup method.
> Split out from DERBY-766

-- 
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

        

Reply via email to