classStatementClassifier
final class StatementClassifier
Restricted visibility: declared "@visibility ZtdQuery\Platform\Sqlite". Code outside that scope must not name this declaration.
Classifies supported top-level SQLite statements, including WITH prefixes.
Methods§
public function classifyStatement(string $sql): string|nullClassify the type of a SQL statement.
Parameters
$sql | string |
Returns
string|null Statement type: 'SELECT', 'INSERT', 'UPDATE', 'DELETE',
'CREATE_TABLE', 'DROP_TABLE', 'ALTER_TABLE', or null if unsupported.Test cases 65
StatementClassifierTest::testClassifyStatementClassifyAlterTablecallsStatementClassifierTest::testClassifyStatementClassifyAlterTableCaseInsensitivecallsStatementClassifierTest::testClassifyStatementClassifyAlterTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyBlockCommentOnlyReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyCommentOnlyReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyCreateTablecallsStatementClassifierTest::testClassifyStatementClassifyCreateTableCaseInsensitivecallsStatementClassifierTest::testClassifyStatementClassifyCreateTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyCreateTemporaryTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyDeletecallsStatementClassifierTest::testClassifyStatementClassifyDeleteLowercasecallsStatementClassifierTest::testClassifyStatementClassifyDropTablecallsStatementClassifierTest::testClassifyStatementClassifyDropTableCaseInsensitivecallsStatementClassifierTest::testClassifyStatementClassifyDropTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyEmptycallsStatementClassifierTest::testClassifyStatementClassifyInsertcallsStatementClassifierTest::testClassifyStatementClassifyInsertLowercasecallsStatementClassifierTest::testClassifyStatementClassifyInsertOrReplacecallsStatementClassifierTest::testClassifyStatementClassifyNonKeywordContainingAlterTableReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyNonKeywordContainingCreateTableReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyNonKeywordContainingDropTableReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyReplacecallsStatementClassifierTest::testClassifyStatementClassifyReplaceLowercasecallsStatementClassifierTest::testClassifyStatementClassifySelectcallsStatementClassifierTest::testClassifyStatementClassifySelectContainingAlterTableInStringcallsStatementClassifierTest::testClassifyStatementClassifySelectContainingCreateTableInStringcallsStatementClassifierTest::testClassifyStatementClassifySelectContainingDropTableInStringcallsStatementClassifierTest::testClassifyStatementClassifySelectWithLeadingWhitespacecallsStatementClassifierTest::testClassifyStatementClassifyUnsupportedcallsStatementClassifierTest::testClassifyStatementClassifyUpdatecallsStatementClassifierTest::testClassifyStatementClassifyUpdateLowercasecallsStatementClassifierTest::testClassifyStatementClassifyWithBlockCommentcallsStatementClassifierTest::testClassifyStatementClassifyWithCommentcallsStatementClassifierTest::testClassifyStatementClassifyWithCteClosingParenAtZeroDepthcallsStatementClassifierTest::testClassifyStatementClassifyWithCteDeletecallsStatementClassifierTest::testClassifyStatementClassifyWithCteDeleteV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteDoubleQuotedIdentifiercallsStatementClassifierTest::testClassifyStatementClassifyWithCteDoubleQuoteInBodycallsStatementClassifierTest::testClassifyStatementClassifyWithCteEscapedDoubleQuotecallsStatementClassifierTest::testClassifyStatementClassifyWithCteEscapedSingleQuotecallsStatementClassifierTest::testClassifyStatementClassifyWithCteInsertcallsStatementClassifierTest::testClassifyStatementClassifyWithCteInsertV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteKeywordInMiddleOfWordcallsStatementClassifierTest::testClassifyStatementClassifyWithCteMultipleCtescallsStatementClassifierTest::testClassifyStatementClassifyWithCteNestedParenscallsStatementClassifierTest::testClassifyStatementClassifyWithCteNoBodycallsStatementClassifierTest::testClassifyStatementClassifyWithCteNoBodyNoClosurecallsStatementClassifierTest::testClassifyStatementClassifyWithCteQuotedParenscallsStatementClassifierTest::testClassifyStatementClassifyWithCteQuotedStringcallsStatementClassifierTest::testClassifyStatementClassifyWithCteReplacecallsStatementClassifierTest::testClassifyStatementClassifyWithCteReplaceV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteSelectcallsStatementClassifierTest::testClassifyStatementClassifyWithCteSingleQuoteInBodycallsStatementClassifierTest::testClassifyStatementClassifyWithCteUnsupportedcallsStatementClassifierTest::testClassifyStatementClassifyWithCteUnsupportedV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteUpdatecallsStatementClassifierTest::testClassifyStatementClassifyWithCteUpdateV2callsStatementClassifierTest::testClassifyStatementClassifyWithDeleteCtecallsStatementClassifierTest::testClassifyStatementClassifyWithDeleteIgnoresQuotedKeywordCteNamescallsStatementClassifierTest::testClassifyStatementClassifyWithInsertCtecallsStatementClassifierTest::testClassifyStatementClassifyWithReplaceTreatsBlockCommentsAsLexicalSeparatorscallsStatementClassifierTest::testClassifyStatementClassifyWithSelectCtecallsStatementClassifierTest::testClassifyStatementClassifyWithUpdateCtecallsStatementClassifierTest::testClassifyStatementClassifyWithUpdateTreatsLineCommentsAsLexicalSeparatorscallsStatementClassifierTest::testClassifyStatementUsesLexicalBoundariescalls
Called from 2
Calls 3
public function classifyKeywords(string $first, ?string $second, ?string $third): ?stringMaps leading keywords to supported statement kinds.
Parameters
$first | string | |
$second | ?string | |
$third | ?string |
Returns
?stringTest cases 90§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 66
StatementClassifierTest::testClassifyKeywordsDistinguishesTemporaryTablescallsStatementClassifierTest::testClassifyStatementClassifyAlterTablecallsStatementClassifierTest::testClassifyStatementClassifyAlterTableCaseInsensitivecallsStatementClassifierTest::testClassifyStatementClassifyAlterTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyBlockCommentOnlyReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyCommentOnlyReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyCreateTablecallsStatementClassifierTest::testClassifyStatementClassifyCreateTableCaseInsensitivecallsStatementClassifierTest::testClassifyStatementClassifyCreateTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyCreateTemporaryTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyDeletecallsStatementClassifierTest::testClassifyStatementClassifyDeleteLowercasecallsStatementClassifierTest::testClassifyStatementClassifyDropTablecallsStatementClassifierTest::testClassifyStatementClassifyDropTableCaseInsensitivecallsStatementClassifierTest::testClassifyStatementClassifyDropTableLowercasecallsStatementClassifierTest::testClassifyStatementClassifyEmptycallsStatementClassifierTest::testClassifyStatementClassifyInsertcallsStatementClassifierTest::testClassifyStatementClassifyInsertLowercasecallsStatementClassifierTest::testClassifyStatementClassifyInsertOrReplacecallsStatementClassifierTest::testClassifyStatementClassifyNonKeywordContainingAlterTableReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyNonKeywordContainingCreateTableReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyNonKeywordContainingDropTableReturnsNullcallsStatementClassifierTest::testClassifyStatementClassifyReplacecallsStatementClassifierTest::testClassifyStatementClassifyReplaceLowercasecallsStatementClassifierTest::testClassifyStatementClassifySelectcallsStatementClassifierTest::testClassifyStatementClassifySelectContainingAlterTableInStringcallsStatementClassifierTest::testClassifyStatementClassifySelectContainingCreateTableInStringcallsStatementClassifierTest::testClassifyStatementClassifySelectContainingDropTableInStringcallsStatementClassifierTest::testClassifyStatementClassifySelectWithLeadingWhitespacecallsStatementClassifierTest::testClassifyStatementClassifyUnsupportedcallsStatementClassifierTest::testClassifyStatementClassifyUpdatecallsStatementClassifierTest::testClassifyStatementClassifyUpdateLowercasecallsStatementClassifierTest::testClassifyStatementClassifyWithBlockCommentcallsStatementClassifierTest::testClassifyStatementClassifyWithCommentcallsStatementClassifierTest::testClassifyStatementClassifyWithCteClosingParenAtZeroDepthcallsStatementClassifierTest::testClassifyStatementClassifyWithCteDeletecallsStatementClassifierTest::testClassifyStatementClassifyWithCteDeleteV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteDoubleQuotedIdentifiercallsStatementClassifierTest::testClassifyStatementClassifyWithCteDoubleQuoteInBodycallsStatementClassifierTest::testClassifyStatementClassifyWithCteEscapedDoubleQuotecallsStatementClassifierTest::testClassifyStatementClassifyWithCteEscapedSingleQuotecallsStatementClassifierTest::testClassifyStatementClassifyWithCteInsertcallsStatementClassifierTest::testClassifyStatementClassifyWithCteInsertV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteKeywordInMiddleOfWordcallsStatementClassifierTest::testClassifyStatementClassifyWithCteMultipleCtescallsStatementClassifierTest::testClassifyStatementClassifyWithCteNestedParenscallsStatementClassifierTest::testClassifyStatementClassifyWithCteNoBodycallsStatementClassifierTest::testClassifyStatementClassifyWithCteNoBodyNoClosurecallsStatementClassifierTest::testClassifyStatementClassifyWithCteQuotedParenscallsStatementClassifierTest::testClassifyStatementClassifyWithCteQuotedStringcallsStatementClassifierTest::testClassifyStatementClassifyWithCteReplacecallsStatementClassifierTest::testClassifyStatementClassifyWithCteReplaceV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteSelectcallsStatementClassifierTest::testClassifyStatementClassifyWithCteSingleQuoteInBodycallsStatementClassifierTest::testClassifyStatementClassifyWithCteUnsupportedcallsStatementClassifierTest::testClassifyStatementClassifyWithCteUnsupportedV2callsStatementClassifierTest::testClassifyStatementClassifyWithCteUpdatecallsStatementClassifierTest::testClassifyStatementClassifyWithCteUpdateV2callsStatementClassifierTest::testClassifyStatementClassifyWithDeleteCtecallsStatementClassifierTest::testClassifyStatementClassifyWithDeleteIgnoresQuotedKeywordCteNamescallsStatementClassifierTest::testClassifyStatementClassifyWithInsertCtecallsStatementClassifierTest::testClassifyStatementClassifyWithReplaceTreatsBlockCommentsAsLexicalSeparatorscallsStatementClassifierTest::testClassifyStatementClassifyWithSelectCtecallsStatementClassifierTest::testClassifyStatementClassifyWithUpdateCtecallsStatementClassifierTest::testClassifyStatementClassifyWithUpdateTreatsLineCommentsAsLexicalSeparatorscallsStatementClassifierTest::testClassifyStatementUsesLexicalBoundariescalls
Other tests reaching this symbol 24
ReferencedTableLookupTestcallsMatchExpressionRewriterTestcallsSqliteFullTextSearchRewriterTestcallsSqliteQueryGuardTestcallsSqliteRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertProjectionBuilderTestcallsInsertTransformerTestcallsSelectTransformerTestcallsSqliteTransformerTestcallsUpdateTransformerTestcallsColumnDefinitionParserTestcallsTableDefinitionBuilderTestcallsVirtualTableParserTestcallsSqliteSchemaParserTestcallsAddColumnResolverTestcallsInsertMutationResolverTestcallsRowMutationResolverTestcallsTableMutationResolverTestcallsSqliteMutationResolverTestcallsSqliteParserTestcallsTargetTableParserTestcallsSqliteSessionFactoryTestcalls