classJoinLexemeGenerator
final class JoinLexemeGenerator
implements LexemeGenerator
Realizes JOIN_KW registrations under the complete join-type condition from select.c/sqlite3JoinType.
Methods§
public function __construct(
private list<string> $words,
private JoinModifiers $types = new \SqlFaker\Sqlite\Generation\Lexeme\JoinModifiers(),
)Parameters
$words | list<string> | JOIN_KW spellings from the exact release's keyword table |
$types | JoinModifiers |
Test cases 2
Calls 1
- new JoinModifiers line 24
public function generate(LexemeInput $input): ?LexemeCandidatesKeeps candidates whose chosen suffix still admits a complete valid modifier sequence.
Parameters
$input | LexemeInput |
Returns
Throws
LexicalException When a declared join word has no source-based implementationTest cases 1
Calls 10
- method-call LexemeInput::terminal() line 35
- function-call
in_arrayline 36 - new LexicalException line 40
- method-call JoinModifiers::mask() line 45
- function-call
array_sliceline 49 - method-call JoinModifiers::canComplete() line 57
- method-call JoinLexemeGenerator::hasCondition() line 57
- new LexemeSequence line 58
- new Lexeme line 59
- static-call LexemeCandidates::of() line 63
public function hasCondition(LexemeInput $input): boolChecks the ON/USING child of the same source-list occurrence, without inspecting nested queries.
Parameters
$input | LexemeInput |
Returns
boolTest cases 2
Called from 1
Calls 1
- method-call LexemeInput::terminal() line 71
Private surface 2§
Implementation details, listed for orientation only.
private list<string> $wordsprivate JoinModifiers $types = new \SqlFaker\Sqlite\Generation\Lexeme\JoinModifiers()Test cases 9§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 2
Other tests reaching this symbol 7
MySqlProviderTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalGrammarTestcallsSqliteProviderTestcalls