classCompoundSelectRule
final class CompoundSelectRule
implements RewriteRule
parse.y:parserDoubleLinkSelect permits ORDER BY and LIMIT only on the final compound operand.
Methods§
public function rewrite(TerminalSequence $sequence): TerminalSequenceRemoves clauses from each prior operand, preserving nested queries and the final SELECT.
Parameters
$sequence | TerminalSequence |
Returns
Test cases 6
CompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperatorcallsCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#0coversCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#1coversCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#2coversCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#3coversCompoundSelectRuleTest::testRewriteLeavesASingleSelectAndEmptyPriorClausesUnchangedcovers and calls
Calls 3
- method-call TerminalSequence::occurrences() line 23
- method-call TerminalSequence::child() line 24
- method-call TerminalSequence::range() line 31
Test cases 12§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 6
CompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperatorcallsCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#0coversCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#1coversCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#2coversCompoundSelectRuleTest::testRewriteKeepsNestedAndFinalClausesForEveryCompoundOperator#3coversCompoundSelectRuleTest::testRewriteLeavesASingleSelectAndEmptyPriorClausesUnchangedcovers and calls
Other tests reaching this symbol 6
MySqlProviderTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsRewriteDefinitionsTestcallsSqliteProviderTestcalls