classMatchExpressionRewriter
final class MatchExpressionRewriter
Restricted visibility: declared "@visibility ZtdQuery\Platform\Sqlite". Code outside that scope must not name this declaration.
Projects MATCH expressions onto shadowed full-text table columns.
Type Aliases§
TableContext = import from SqliteFullTextSearchRewriterMethods§
public function __construct(
private SqliteParser $parser,
private SqliteIdentifierQuoter $quoter,
)Binds the collaborators used by this operation.
Parameters
$parser | SqliteParser | |
$quoter | SqliteIdentifierQuoter |
public function expressionEdit(
SqlTokenStream $stream,
SqlToken $operator,
array<string, TableContext> $tables,
): array{start: int, end: int, replacement: string}|nullParameters
$stream | SqlTokenStream | |
$operator | SqlToken | |
$tables | array<string, TableContext> |
Returns
array{start: int, end: int, replacement: string}|nullTest cases 2
Called from 1
Calls 13
- method-call SqlToken::isKeyword() line 37
- class-const SqlTokenKind::Symbol() line 39
- method-call SqlTokenStream::significantTokenBefore() line 45
- static-call MatchExpressionRewriter::isIdentifier() line 46
- method-call SqlTokenStream::significantTokenAfter() line 49
- static-call MatchExpressionRewriter::isQueryExpression() line 50
- method-call SqliteParser::unquoteIdentifier() line 54
- method-call FullTextColumns::tableColumns() line 55
- new FullTextColumns line 55
- method-call FullTextColumns::matchingColumn() line 57
- function-call
array_mapline 63 - method-call SqliteIdentifierQuoter::quote() line 64
- function-call
implodeline 67
public static function isIdentifier(SqlToken $token): boolProjects MATCH expressions onto shadowed full-text table columns.
Parameters
$token | SqlToken |
Returns
boolTest cases 1
Called from 1
Calls 8
- class-const SqlTokenKind::Word() line 83
- class-const SqlTokenKind::QuotedIdentifier() line 83
- class-const SqlTokenKind::String() line 84
- class-const SqlTokenKind::Number() line 84
- class-const SqlTokenKind::Parameter() line 84
- class-const SqlTokenKind::Symbol() line 85
- class-const SqlTokenKind::Comment() line 85
- class-const SqlTokenKind::Whitespace() line 85
public static function isQueryExpression(SqlToken $token): boolProjects MATCH expressions onto shadowed full-text table columns.
Parameters
$token | SqlToken |
Returns
boolCalled from 1
Calls 3
- function-call
in_arrayline 94 - class-const SqlTokenKind::String() line 94
- class-const SqlTokenKind::Parameter() line 94
Private surface 2§
Implementation details, listed for orientation only.
private SqliteParser $parserprivate SqliteIdentifierQuoter $quoterTest cases 13§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
MatchExpressionRewriterTest::testExpressionEditProjectsAllDocumentColumnscallsMatchExpressionRewriterTest::testExpressionEditRejectsAnUnknownDocumentcallsMatchExpressionRewriterTest::testIsIdentifierRejectsLiteralTokenscallsMatchExpressionRewriterTest::testIsQueryExpressionAcceptsOnlyStringOrParametercalls
Other tests reaching this symbol 9
SqliteFullTextSearchRewriterTestcallsSqliteRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertTransformerTestcallsSelectTransformerTestcallsSqliteTransformerTestcallsUpdateTransformerTestcallsSqliteSessionFactoryTestcalls