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

Rick Hillegas commented on DERBY-2487:
--------------------------------------

Thanks for working on this issue, Bryan. Like Knut and yourself, I am a little 
concerned that we are creating many system catalogs for one feature. I like the 
idea that the plan-capturing tables should be created on-demand in a user 
schema. You could imagine adding a new overload of 
syscs_util.syscs_set_runtimestatistics:

   call syscs_util.syscs_set_runtimestatistics( 'myStatisticsSchema' )

This would

1) Create myStatisticsSchema (owned by the current user) if it didn't already 
exist.

2) Create the plan-bearing tables in myStatisticsSchema if they didn't already 
exist or if their shape is stale. I think that the contract should be that the 
layout of these tables can change between feature releases. That is, plans are 
not guaranteed to survive across upgrade. Derby reserves the right to drop and 
recreate these tables after upgrade. Regardless of where we put the statistics, 
I think that plans from previous releases should be flushed after upgrade--from 
painful previous experience at Sybase I can report that you don't want to be 
responsible for persisting plans across upgrade boundaries.

3) Stuff a reference to myStatisticsSchema into the LCC as you suggest. The 
contract is that plans are dumped into the latest schema specified by a 
syscs_set_runtimestatistics command issued in your session.

Garbage-collecting uninteresting statistics would then just be a matter of 
dropping a schema.

> 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, removeSourceDepth.diff, RSProtocolNew.pdf, 
> rts.xls, small logical xplain schema.pdf, startRegressionTest.diff, 
> startRegressionTest.diff, startUpgradeTests.diff, updateRegressionTests.diff, 
> updateRegressionTests.diff, usage.txt, 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.

Reply via email to