I've been working my way through Army's awesome Wiki pages and learning a lot about the Optimizer. I'm doing this in the context of a problematic query of mine.
I've got a question about how Optimizer Timeout works. See http://wiki.apache.org/db-derby/LanguageOptimize to set the context for this question. In particular, I'm interested in the interaction between the following code loop in SelectNode.optimize and the optimizer timeout mechanism: * Optimize this SelectNode */ while (optimizer.getNextPermutation()) { while (optimizer.getNextDecoratedPermutation()) { optimizer.costPermutation(); } } So here's the question: as I understand it, the Optimizer Timeout mechanism kicks in during optimizer.getNextPermutation(). But what if the "inner" while loop has a very large number of decorated permutations to cost for this particular pass through the outer loop? Shouldn't we be checking for timeout in the inner loop as well? thanks, bryan