classMySqlPartitionSelectionRewriter
final class MySqlPartitionSelectionRewriter
Rewrites explicit MySQL partition selection into filtered table sources.
Methods§
public function rewrite(
string $sql,
array<string, array{viewSql: string}|array{rows: array<int, array<string, mixed>>, columns: array<int, string>, columnTypes: array<string, ColumnDeclaration>, partitioning?: TablePartitioning|null}> $tables,
): stringParameters
$sql | string | |
$tables | array<string, array{viewSql: string}|array{rows: array<int, array<string, mixed>>, columns: array<int, string>, columnTypes: array<string, ColumnDeclaration>, partitioning?: TablePartitioning|null}> |
Returns
stringThrows
Test cases 15
MySqlPartitionSelectionRewriterTest::testContinuesAfterOrdinarySourceAndAddsAliasBeforeJoinClausecallsMySqlPartitionSelectionRewriterTest::testIgnoresClosingParenthesesBeforeThePartitionClausecallsMySqlPartitionSelectionRewriterTest::testLeavesOrdinarySelectUnchangedcallsMySqlPartitionSelectionRewriterTest::testPreservesAliasesAndRewritesEachJoinSourcecallsMySqlPartitionSelectionRewriterTest::testRejectsBracketsInPlaceOfPartitionParenthesescallsMySqlPartitionSelectionRewriterTest::testRejectsEmptyPartitionListcallsMySqlPartitionSelectionRewriterTest::testRejectsForceIndexHintcallsMySqlPartitionSelectionRewriterTest::testRejectsIgnoreIndexHintcallsMySqlPartitionSelectionRewriterTest::testRejectsMalformedPartitionNameListcallsMySqlPartitionSelectionRewriterTest::testRejectsPartitionClauseWithoutClosingParenthesiscallsMySqlPartitionSelectionRewriterTest::testRejectsPartitionClauseWithoutOpeningParenthesiscallsMySqlPartitionSelectionRewriterTest::testRejectsPartitionSelectionWithIndexHintcallsMySqlPartitionSelectionRewriterTest::testRejectsSelectionWithoutPartitionMetadatacallsMySqlPartitionSelectionRewriterTest::testRejectsUnknownPartitionNamecallsMySqlPartitionSelectionRewriterTest::testRewritesNamedPartitionAsFilteredDerivedTablecalls
Called from 1
Calls 16
- static-call SqlTokenStream::tokenize() line 31
- static-call MySqlLexerProfile::create() line 31
- function-call
strtolowerline 35 - method-call MySqlSelectRelationParser::references() line 39
- new MySqlSelectRelationParser line 39
- method-call SelectionReader::tokenIndexAtOrAfter() line 40
- new SelectionReader line 40
- method-call SelectionReader::partitionSelection() line 46
- new UnsupportedSqlException line 55
- function-call
implodeline 57 - function-call
array_mapline 57 - method-call SelectionReader::requireNoIndexHint() line 62
- method-call SourceProjection::edit() line 63
- new SourceProjection line 63
- function-call
usortline 66 - function-call
substr_replaceline 68
Test cases 26§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 15
MySqlPartitionSelectionRewriterTest::testContinuesAfterOrdinarySourceAndAddsAliasBeforeJoinClausecallsMySqlPartitionSelectionRewriterTest::testIgnoresClosingParenthesesBeforeThePartitionClausecallsMySqlPartitionSelectionRewriterTest::testLeavesOrdinarySelectUnchangedcallsMySqlPartitionSelectionRewriterTest::testPreservesAliasesAndRewritesEachJoinSourcecallsMySqlPartitionSelectionRewriterTest::testRejectsBracketsInPlaceOfPartitionParenthesescallsMySqlPartitionSelectionRewriterTest::testRejectsEmptyPartitionListcallsMySqlPartitionSelectionRewriterTest::testRejectsForceIndexHintcallsMySqlPartitionSelectionRewriterTest::testRejectsIgnoreIndexHintcallsMySqlPartitionSelectionRewriterTest::testRejectsMalformedPartitionNameListcallsMySqlPartitionSelectionRewriterTest::testRejectsPartitionClauseWithoutClosingParenthesiscallsMySqlPartitionSelectionRewriterTest::testRejectsPartitionClauseWithoutOpeningParenthesiscallsMySqlPartitionSelectionRewriterTest::testRejectsPartitionSelectionWithIndexHintcallsMySqlPartitionSelectionRewriterTest::testRejectsSelectionWithoutPartitionMetadatacallsMySqlPartitionSelectionRewriterTest::testRejectsUnknownPartitionNamecallsMySqlPartitionSelectionRewriterTest::testRewritesNamedPartitionAsFilteredDerivedTablecalls
Other tests reaching this symbol 11
MySqlSessionFactoryTestcallsMySqlRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertTransformerTestcallsMySqlTransformerTestcallsReplaceTransformerTestcallsSelectTransformerTestcallsUpdateTransformerTestcallsRowMutationResolverTestcallsMySqlMutationResolverTestcalls