classSqliteForeignKeyDefinitionParser
final class SqliteForeignKeyDefinitionParser
Extracts foreign key declarations and referential actions from SQLite schemas.
Methods§
public function parseCreateTable(string $sql): array<string, ForeignKeyDefinition>Parameters
$sql | string |
Returns
array<string, ForeignKeyDefinition>Test cases 11
SqliteForeignKeyDefinitionParserTest::testDoesNotTreatOtherCreateStatementParenthesesAsTableBodiescallsSqliteForeignKeyDefinitionParserTest::testForeignKeyClauseRequiresImmediateKeyAndColumnListTokenscallsSqliteForeignKeyDefinitionParserTest::testMalformedActionsRemainNoActionWithoutTokenLookaheadFailurescallsSqliteForeignKeyDefinitionParserTest::testNestedActionTokensCannotOverrideTopLevelActioncallsSqliteForeignKeyDefinitionParserTest::testParseCreateTableParsesNamedCompositeConstraintWithoutRegexSubstitutioncallsSqliteForeignKeyDefinitionParserTest::testParsesEveryActionAndAssignsSequentialSyntheticNamescallsSqliteForeignKeyDefinitionParserTest::testParsesInlineAndSqliteQuotedReferencescallsSqliteForeignKeyDefinitionParserTest::testRejectsNonCreateAndMalformedForeignKeyStructurescallsSqliteForeignKeyDefinitionParserTest::testRejectsStatementsAndMalformedReferencesWithoutTableBodycallsSqliteForeignKeyDefinitionParserTest::testUsesOnlyCreateTableTopLevelParenthesescallsSqliteForeignKeyDefinitionParserTest::testUsesReferencedPrimaryKeyWhenColumnListIsOmittedcalls
Called from 1
Calls 9
- method-call ForeignKeyTokens::tableBody() line 21
- new ForeignKeyTokens line 21
- static-call SqlTokenStream::tokenize() line 27
- static-call SqliteLexerProfile::create() line 27
- function-call
in_arrayline 31 - function-call
sprintfline 36 - function-call
countline 36 - method-call ForeignKeyEntryParser::parseEntry() line 37
- new ForeignKeyEntryParser line 37
Test cases 19§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 11
SqliteForeignKeyDefinitionParserTest::testDoesNotTreatOtherCreateStatementParenthesesAsTableBodiescallsSqliteForeignKeyDefinitionParserTest::testForeignKeyClauseRequiresImmediateKeyAndColumnListTokenscallsSqliteForeignKeyDefinitionParserTest::testMalformedActionsRemainNoActionWithoutTokenLookaheadFailurescallsSqliteForeignKeyDefinitionParserTest::testNestedActionTokensCannotOverrideTopLevelActioncallsSqliteForeignKeyDefinitionParserTest::testParseCreateTableParsesNamedCompositeConstraintWithoutRegexSubstitutioncallsSqliteForeignKeyDefinitionParserTest::testParsesEveryActionAndAssignsSequentialSyntheticNamescallsSqliteForeignKeyDefinitionParserTest::testParsesInlineAndSqliteQuotedReferencescallsSqliteForeignKeyDefinitionParserTest::testRejectsNonCreateAndMalformedForeignKeyStructurescallsSqliteForeignKeyDefinitionParserTest::testRejectsStatementsAndMalformedReferencesWithoutTableBodycallsSqliteForeignKeyDefinitionParserTest::testUsesOnlyCreateTableTopLevelParenthesescallsSqliteForeignKeyDefinitionParserTest::testUsesReferencedPrimaryKeyWhenColumnListIsOmittedcalls
Other tests reaching this symbol 8
SqliteRewriterTestcallsStatementRewriterTestcallsTableDefinitionBuilderTestcallsSqliteSchemaParserTestcallsAddColumnResolverTestcallsTableMutationResolverTestcallsSqliteMutationResolverTestcallsSqliteSessionFactoryTestcalls