classAssignmentParser
final class AssignmentParser
Restricted visibility: declared "@visibility ZtdQuery\Platform\Sqlite". Code outside that scope must not name this declaration.
Parses column assignments while preserving nested value expressions.
Methods§
public function extractUpdateAssignments(string $sql): array<string, string>Extract SET assignments from an UPDATE statement.
Parameters
$sql | string |
Returns
array<string, string> Column name => value expression.Test cases 31
AssignmentParserTest::testExtractUpdateAssignmentscallsAssignmentParserTest::testExtractUpdateAssignmentsBacktickColumncallsAssignmentParserTest::testExtractUpdateAssignmentsBracketColumncallsAssignmentParserTest::testExtractUpdateAssignmentsCaseInsensitivecallsAssignmentParserTest::testExtractUpdateAssignmentsEmptycallsAssignmentParserTest::testExtractUpdateAssignmentsLowercasecallsAssignmentParserTest::testExtractUpdateAssignmentsMultilinecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsBacktickColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsBracketColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsDoubleQuotedValueInExpressioncallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsEmptyColumnSkippedcallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsMultiplecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsMultipleCommaValuescallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsNoSetClausecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsParenthesizedValuecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsQualifiedColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsQuotedColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsQuotedStringValuecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsTablePrefixedcallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueEndingWithCloseParencallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueWithNestedParensAndClosecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueWithParenscallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueWithQuotescallsAssignmentParserTest::testExtractUpdateAssignmentsQuotedColumncallsAssignmentParserTest::testExtractUpdateAssignmentsTableQualifiedcallsAssignmentParserTest::testExtractUpdateAssignmentsWithFunctioncallsAssignmentParserTest::testExtractUpdateAssignmentsWithLimitcallsAssignmentParserTest::testExtractUpdateAssignmentsWithLimitLowercasecallsAssignmentParserTest::testExtractUpdateAssignmentsWithOrderBycallsAssignmentParserTest::testExtractUpdateAssignmentsWithOrderByLowercasecallsAssignmentParserTest::testExtractUpdateAssignmentsWithQuotedValuecalls
Called from 1
Calls 3
- static-call SqlTokenStream::tokenize() line 23
- static-call SqliteLexerProfile::create() line 23
- method-call AssignmentParser::parseAssignments() line 31
public function extractOnConflictUpdates(string $sql): array<string, string>Extract ON CONFLICT update columns from an upsert statement.
Parameters
$sql | string |
Returns
array<string, string> Column name => value expression.Test cases 12
AssignmentParserTest::testExtractOnConflictUpdatescallsAssignmentParserTest::testExtractOnConflictUpdatesCaseInsensitivecallsAssignmentParserTest::testExtractOnConflictUpdatesConflictAssignmentsIgnoreNestedWhereAndReturningKeywordscallsAssignmentParserTest::testExtractOnConflictUpdatesDoNothingcallsAssignmentParserTest::testExtractOnConflictUpdatesDoNothingV2callsAssignmentParserTest::testExtractOnConflictUpdatesExtractOnConflictRejectsNonUpdateActionContainingSetcallsAssignmentParserTest::testExtractOnConflictUpdatesExtractOnConflictStopsBeforeReturningWithoutWherecallsAssignmentParserTest::testExtractOnConflictUpdatesLowercasecallsAssignmentParserTest::testExtractOnConflictUpdatesMultilinecallsAssignmentParserTest::testExtractOnConflictUpdatesMultiplecallsAssignmentParserTest::testExtractOnConflictUpdatesNoConflictcallsAssignmentParserTest::testExtractOnConflictUpdatesV2calls
Called from 1
Calls 3
- static-call SqlTokenStream::tokenize() line 41
- static-call SqliteLexerProfile::create() line 41
- method-call AssignmentParser::parseAssignments() line 54
public function parseAssignments(string $setClause): array<string, string>Parse SET assignments: col1 = val1, col2 = val2.
Parameters
$setClause | string |
Returns
array<string, string>Test cases 1
Called from 2
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentParser::extractUpdateAssignments() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentParser.php:31
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentParser::extractOnConflictUpdates() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentParser.php:54
Calls 8
- function-call
strlenline 65 - function-call
ctype_spaceline 68 - method-call AssignmentColumnParser::parse() line 74
- new AssignmentColumnParser line 74
- method-call ExpressionSpan::end() line 79
- new ExpressionSpan line 79
- function-call
trimline 80 - function-call
substrline 80
Test cases 67§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 44
AssignmentParserTest::testExtractOnConflictUpdatescallsAssignmentParserTest::testExtractOnConflictUpdatesCaseInsensitivecallsAssignmentParserTest::testExtractOnConflictUpdatesConflictAssignmentsIgnoreNestedWhereAndReturningKeywordscallsAssignmentParserTest::testExtractOnConflictUpdatesDoNothingcallsAssignmentParserTest::testExtractOnConflictUpdatesDoNothingV2callsAssignmentParserTest::testExtractOnConflictUpdatesExtractOnConflictRejectsNonUpdateActionContainingSetcallsAssignmentParserTest::testExtractOnConflictUpdatesExtractOnConflictStopsBeforeReturningWithoutWherecallsAssignmentParserTest::testExtractOnConflictUpdatesLowercasecallsAssignmentParserTest::testExtractOnConflictUpdatesMultilinecallsAssignmentParserTest::testExtractOnConflictUpdatesMultiplecallsAssignmentParserTest::testExtractOnConflictUpdatesNoConflictcallsAssignmentParserTest::testExtractOnConflictUpdatesV2callsAssignmentParserTest::testExtractUpdateAssignmentscallsAssignmentParserTest::testExtractUpdateAssignmentsBacktickColumncallsAssignmentParserTest::testExtractUpdateAssignmentsBracketColumncallsAssignmentParserTest::testExtractUpdateAssignmentsCaseInsensitivecallsAssignmentParserTest::testExtractUpdateAssignmentsEmptycallsAssignmentParserTest::testExtractUpdateAssignmentsLowercasecallsAssignmentParserTest::testExtractUpdateAssignmentsMultilinecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsBacktickColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsBracketColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsDoubleQuotedValueInExpressioncallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsEmptyColumnSkippedcallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsMultiplecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsMultipleCommaValuescallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsNoSetClausecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsParenthesizedValuecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsQualifiedColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsQuotedColumnNamecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsQuotedStringValuecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsTablePrefixedcallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueEndingWithCloseParencallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueWithNestedParensAndClosecallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueWithParenscallsAssignmentParserTest::testExtractUpdateAssignmentsParseAssignmentsValueWithQuotescallsAssignmentParserTest::testExtractUpdateAssignmentsQuotedColumncallsAssignmentParserTest::testExtractUpdateAssignmentsTableQualifiedcallsAssignmentParserTest::testExtractUpdateAssignmentsWithFunctioncallsAssignmentParserTest::testExtractUpdateAssignmentsWithLimitcallsAssignmentParserTest::testExtractUpdateAssignmentsWithLimitLowercasecallsAssignmentParserTest::testExtractUpdateAssignmentsWithOrderBycallsAssignmentParserTest::testExtractUpdateAssignmentsWithOrderByLowercasecallsAssignmentParserTest::testExtractUpdateAssignmentsWithQuotedValuecallsAssignmentParserTest::testParseAssignmentsRetainsNestedCommascalls
Other tests reaching this symbol 23
ReferencedTableLookupTestcallsMatchExpressionRewriterTestcallsSqliteFullTextSearchRewriterTestcallsSqliteQueryGuardTestcallsSqliteRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertProjectionBuilderTestcallsInsertTransformerTestcallsSelectTransformerTestcallsSqliteTransformerTestcallsUpdateTransformerTestcallsColumnDefinitionParserTestcallsTableDefinitionBuilderTestcallsVirtualTableParserTestcallsSqliteSchemaParserTestcallsAddColumnResolverTestcallsInsertMutationResolverTestcallsRowMutationResolverTestcallsTableMutationResolverTestcallsSqliteMutationResolverTestcallsSqliteParserTestcallsSqliteSessionFactoryTestcalls