db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bryan Pendleton (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2487) Enhance Derby with EXPLAIN Functionality
Date Tue, 21 Apr 2009 22:59:47 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12701305#action_12701305
] 

Bryan Pendleton commented on DERBY-2487:
----------------------------------------

I'm concerned about the patch's proposed modification to iapi.sql.execute.RunTimeStatistics.
The patch proposes to add a reference to impl.sql.execute.rts.ResultSetStatistics.

This seems like an indication of a layering problem; the internal ResultSetStatistics
class should not need to be visible through this high-level interface.

The newly-added method getTopRSS() is only used in one place, in the XPLAINSystemTableVisitor.
I'm going to investigate whether I can change this API so that it doesn't expose the implementation
class.

One idea was to replace the current API with a new one, something like:

  public void acceptFromTopRSS(XPLAINVisitor v)

which would be implemented in RunTimeStatisticsImpl.java roughly as:

  if (topResultSetStatistics != null)
    topResultSetStatistics.accept(v);

Then the external iapi.sql.execute.RunTimeStatistics interface would only need to be aware
of
the iapi.sql.execute.xplain.XPLAINVisitor interface, which keeps the layering cleaner, I think.

I'll give this a try and see if it works.

> Enhance Derby with EXPLAIN Functionality
> ----------------------------------------
>
>                 Key: DERBY-2487
>                 URL: https://issues.apache.org/jira/browse/DERBY-2487
>             Project: Derby
>          Issue Type: New Feature
>          Components: SQL
>    Affects Versions: 10.2.2.0
>            Reporter: Felix Beyer
>            Assignee: Bryan Pendleton
>            Priority: Minor
>         Attachments: Derby physical XPLAIN schema.png, incorporateTrunkChanges.diff,
refactorVisitor.diff, refactorVisitor.diff, removeSourceDepth.diff, RSProtocolNew.pdf, rts.xls,
small logical xplain schema.pdf, startRegressionTest.diff, startRegressionTest.diff, startUpgradeTests.diff,
updateRegressionTests.diff, updateRegressionTests.diff, usage.txt, userSchemaPrototyping.diff,
userSchemaPrototyping.diff, userSchemaPrototyping.diff, xplain_patch_v1.txt, xplainClasses.pdf
>
>
> This enhancement extends Derby with EXPLAIN functions. Users want to have more feedback
than they`re getting with the current RuntimeStatistics facility. This extension is based
on the RuntimeStatistics/ResultSetStatistics functions / classes. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message