classSelectOptionsRule
final class SelectOptionsRule
implements RewriteRule
gram.y:insertSelectOptions merges parenthesized query options into the same SelectStmt.
Methods§
public function rewrite(TerminalSequence $sequence): TerminalSequenceKeeps the innermost sort, limit options and WITH, stopping at new SELECT or set-operation nodes.
Parameters
$sequence | TerminalSequence |
Returns
Test cases 34
SelectOptionsRuleTest::testRewriteIgnoresEmptyAndUnscopedClausescovers and callsSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNodecallsSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#0coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#1coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#10coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#11coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#12coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#13coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#14coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#15coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#16coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#17coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#18coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#19coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#2coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#20coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#21coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#22coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#23coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#24coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#25coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#26coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#27coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#28coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#29coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#3coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#30coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#31coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#4coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#5coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#6coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#7coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#8coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#9covers
Calls 3
- method-call TerminalSequence::occurrences() line 37
- method-call SelectOptionsRule::query() line 43
- method-call TerminalSequence::range() line 44
public function query(
array<int, ProductionOccurrence> $byId,
ProductionOccurrence $clause,
): ?intOnly grammar wrappers returning the identical SelectStmt share option ownership.
Parameters
$byId | array<int, ProductionOccurrence> | |
$clause | ProductionOccurrence |
Returns
?intTest cases 33
SelectOptionsRuleTest::testQueryFollowsOnlySelectWrappersAndResolvesOptionalClausescovers and callsSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#0coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#1coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#10coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#11coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#12coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#13coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#14coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#15coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#16coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#17coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#18coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#19coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#2coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#20coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#21coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#22coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#23coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#24coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#25coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#26coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#27coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#28coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#29coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#3coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#30coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#31coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#4coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#5coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#6coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#7coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#8coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#9covers
Called from 1
Calls 1
- function-call
in_arrayline 64
Test cases 41§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 35
SelectOptionsRuleTest::testQueryFollowsOnlySelectWrappersAndResolvesOptionalClausescovers and callsSelectOptionsRuleTest::testRewriteIgnoresEmptyAndUnscopedClausescovers and callsSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNodecallsSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#0coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#1coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#10coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#11coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#12coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#13coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#14coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#15coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#16coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#17coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#18coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#19coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#2coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#20coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#21coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#22coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#23coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#24coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#25coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#26coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#27coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#28coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#29coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#3coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#30coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#31coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#4coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#5coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#6coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#7coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#8coversSelectOptionsRuleTest::testRewriteScopesOptionsToTheSameSelectNode#9covers
Other tests reaching this symbol 6
MySqlProviderTestcallsGenerationContextTestcallsRewriteDefinitionsTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsSqliteProviderTestcalls