You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Mamta A. Satoor (JIRA)" <de...@db.apache.org> on 2006/01/12 19:28:25 UTC

[jira] Updated: (DERBY-573) Provide support for optimizer overrides in Derby.

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

Mamta A. Satoor updated DERBY-573:
----------------------------------

    Attachment: Derby573OptimizerOverridesAndRunTimeStatistics011206.txt

I have attached a patch named Derby573OptimizerOverridesAndRunTimeStatistics011206.txt to JIRA Derby573 Provide support for optimizer overrides in Derby. This patch enables users to see the optimizer overrides specified in the sql as part of runtime statistics info. This is achieved by changing the 
generator so that these properties get passed from compile time to execute time. This change in generate phase can be found in FromBaseTable,
BaseJoinStrategy and JoinNode. The changes in the other classes is for returning the correct number of arguments to the scan. That change is in 
getScanArgs method. 

In addition, I have changed the existing lang/optimizerOverrides.sql to test this patch. derbyall suite has run fine on my Windows XP m/c with Sun's jdk14.

svn stat 
M      java\engine\org\apache\derby\impl\sql\compile\BaseJoinStrategy.java
M      java\engine\org\apache\derby\impl\sql\compile\NestedLoopJoinStrategy.java
M      java\engine\org\apache\derby\impl\sql\compile\SelectNode.java
M      java\engine\org\apache\derby\impl\sql\compile\JoinNode.java
M      java\engine\org\apache\derby\impl\sql\compile\HashJoinStrategy.java
M      java\engine\org\apache\derby\impl\sql\compile\FromBaseTable.java
M      java\engine\org\apache\derby\impl\sql\compile\sqlgrammar.jj
M      java\engine\org\apache\derby\impl\sql\compile\HalfOuterJoinNode.java
M      java\engine\org\apache\derby\impl\sql\execute\HashLeftOuterJoinResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\HashJoinResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\LastIndexKeyResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\GenericResultSetFactory.java
M      java\engine\org\apache\derby\impl\sql\execute\DistinctScanResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\HashScanResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\InsertResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\TableScanResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\rts\RealNestedLoopLeftOuterJoinStatistics.java
M      java\engine\org\apache\derby\impl\sql\execute\rts\RealHashLeftOuterJoinStatistics.java
M      java\engine\org\apache\derby\impl\sql\execute\rts\RealHashJoinStatistics.java
M      java\engine\org\apache\derby\impl\sql\execute\rts\RealJoinResultSetStatistics.java
M      java\engine\org\apache\derby\impl\sql\execute\rts\RealTableScanStatistics.java
M      java\engine\org\apache\derby\impl\sql\execute\rts\RealNestedLoopJoinStatistics.java
M      java\engine\org\apache\derby\impl\sql\execute\RealResultSetStatisticsFactory.java
M      java\engine\org\apache\derby\impl\sql\execute\DependentResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\BulkTableScanResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\MergeJoinResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\NestedLoopJoinResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\NestedLoopLeftOuterJoinResultSet.java
M      java\engine\org\apache\derby\impl\sql\execute\JoinResultSet.java
M      java\engine\org\apache\derby\iapi\sql\compile\Optimizable.java
M      java\engine\org\apache\derby\iapi\sql\execute\ResultSetFactory.java
M      java\engine\org\apache\derby\iapi\reference\SQLState.java
M      java\engine\org\apache\derby\loc\messages_en.properties
M      java\testing\org\apache\derbyTesting\functionTests\tests\lang\optimizerOverrides.sql
M      java\testing\org\apache\derbyTesting\functionTests\master\DerbyNet\optimizerOverrides.out
M      java\testing\org\apache\derbyTesting\functionTests\master\DerbyNetClient\optimizerOverrides.out
M      java\testing\org\apache\derbyTesting\functionTests\master\optimizerOverrides.out


> Provide support for optimizer overrides in Derby.
> -------------------------------------------------
>
>          Key: DERBY-573
>          URL: http://issues.apache.org/jira/browse/DERBY-573
>      Project: Derby
>         Type: New Feature
>   Components: SQL
>     Versions: 10.2.0.0
>     Reporter: Mamta A. Satoor
>     Assignee: Mamta A. Satoor
>  Attachments: Derby573OptimizerOverridesAndRunTimeStatistics011206.txt, derby572OptimizerOverridesAndUpgrade120605.txt, derby572OptimizerOverridesAndUpgrade121105.txt, derby572OptimizerOverridesAndUpgrade121205.txt, derby573OptimierOverrides110805.txt, optimizeroverrides.html, optimizeroverrides.html
>
> Derby's query optimizer usually makes the best choice of join order and access path. The default join strategy ususally works the best too. However, there are some cases in which user may want to override the optimizer or the default values. Providing support for optimizer overrides will allow users to hand-tune the optimizer for queries. 

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