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, 10 Mar 2009 15:02:51 GMT

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

Bryan Pendleton commented on DERBY-2487:

I'm trying to figure out how to prototype the suggested alternate approaches without
writing a ton of extra code. The system table implementation takes advantage of
various special-purpose APIs in the DataDictionary, such as:
 - startWriting()
 - getSystemSchemaDescriptor()
 - addDescriptorArray()
 - getCatalogRowFactory()
and so forth.

For the time being, at least, I'm a bit intimidated by the scope of trying to manage
update access to arbitrary user tables in arbitrary user schemas. How would I know
whether the tables are hidden behind synonyms or views? How would I figure out
if the tables had indexes or constraints on them? How could I make precise the
notion of checking if the table schema doesn't quite match -- would we require a
perfect match of table names, column names, data types, etc? Or could the table
definitions be 'close' and then things like data type conversion would be expected to
make things work?

One idea would be to essentially construct the relevant INSERT statements at the
point when SYSCS_UTIL.SYSCS_SET_XPLAIN_STYLE() is called. Then, I'd
somehow run those INSERT statements through the SQL compiler, and save
the execution data structures that the compiler produces, and then later, when
the visitor code wants to capture the query plans to the tables, it would somehow
conceptually 'execute' those saved INSERT statements.

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

View raw message