classSqliteFullTextSearchRewriter
final class SqliteFullTextSearchRewriter
Replaces FTS virtual-table operators with expressions executable over shadow CTE rows.
Type Aliases§
TableContext = array{viewSql: string}|array{columns: array<int, string>}Methods§
public function __construct()Binds the dependencies used by this operation.
Calls 2
public function rewrite(string $sql, array<string, TableContext> $tables): stringParameters
$sql | string | |
$tables | array<string, TableContext> |
Returns
stringTest cases 11
SqliteFullTextSearchRewriterTest::testFindsATableAndColumnAfterEarlierNonMatchescallsSqliteFullTextSearchRewriterTest::testFindsATableMatchAfterAnEarlierContextcallsSqliteFullTextSearchRewriterTest::testLeavesANonFtsSymbolAfterATableNameUntouchedcallsSqliteFullTextSearchRewriterTest::testLeavesColumnEqualityUntouchedWithASingleTablecallsSqliteFullTextSearchRewriterTest::testLeavesUnknownAmbiguousAndNonQueryOperandsUntouchedcallsSqliteFullTextSearchRewriterTest::testRejectsANonIdentifierEvenWhenItsTextMatchesATableNamecallsSqliteFullTextSearchRewriterTest::testRewritesColumnMatchAndTableEqualsWithSingleParameterscallsSqliteFullTextSearchRewriterTest::testRewritesMultipleExpressionsFromRightToLeftcallsSqliteFullTextSearchRewriterTest::testRewritesTableMatchAcrossEveryFtsColumncallsSqliteFullTextSearchRewriterTest::testSkipsAnOperatorWithoutALeftOperandBeforeAValidExpressioncallsSqliteFullTextSearchRewriterTest::testSkipsAnUnknownExpressionBeforeAValidExpressioncalls
Called from 1
Calls 6
- static-call SqlTokenStream::tokenize() line 33
- static-call SqliteLexerProfile::create() line 33
- method-call MatchExpressionRewriter::expressionEdit() line 40
- new MatchExpressionRewriter line 40
- function-call
usortline 47 - function-call
substr_replaceline 49
Private surface 2§
Implementation details, listed for orientation only.
private SqliteIdentifierQuoter $quoterprivate SqliteParser $parserTest cases 19§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 11
SqliteFullTextSearchRewriterTest::testFindsATableAndColumnAfterEarlierNonMatchescallsSqliteFullTextSearchRewriterTest::testFindsATableMatchAfterAnEarlierContextcallsSqliteFullTextSearchRewriterTest::testLeavesANonFtsSymbolAfterATableNameUntouchedcallsSqliteFullTextSearchRewriterTest::testLeavesColumnEqualityUntouchedWithASingleTablecallsSqliteFullTextSearchRewriterTest::testLeavesUnknownAmbiguousAndNonQueryOperandsUntouchedcallsSqliteFullTextSearchRewriterTest::testRejectsANonIdentifierEvenWhenItsTextMatchesATableNamecallsSqliteFullTextSearchRewriterTest::testRewritesColumnMatchAndTableEqualsWithSingleParameterscallsSqliteFullTextSearchRewriterTest::testRewritesMultipleExpressionsFromRightToLeftcallsSqliteFullTextSearchRewriterTest::testRewritesTableMatchAcrossEveryFtsColumncallsSqliteFullTextSearchRewriterTest::testSkipsAnOperatorWithoutALeftOperandBeforeAValidExpressioncallsSqliteFullTextSearchRewriterTest::testSkipsAnUnknownExpressionBeforeAValidExpressioncalls
Other tests reaching this symbol 8
SqliteRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertTransformerTestcallsSelectTransformerTestcallsSqliteTransformerTestcallsUpdateTransformerTestcallsSqliteSessionFactoryTestcalls