[ 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

Reply via email to