classIdentifierDecoder
final class IdentifierDecoder
Restricted visibility: declared "@visibility ZtdQuery\Platform\Sqlite". Code outside that scope must not name this declaration.
Decodes quoted identifiers and locates identifier token boundaries.
Methods§
public function unquoteIdentifier(string $identifier): stringUnquote a SQL identifier (double-quoted or backtick-quoted).
Parameters
$identifier | string |
Returns
stringTest cases 30
IdentifierDecoderTest::testUnquoteIdentifierBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierBacktickWithEscapescallsIdentifierDecoderTest::testUnquoteIdentifierBracketcallsIdentifierDecoderTest::testUnquoteIdentifierBracketContentcallsIdentifierDecoderTest::testUnquoteIdentifierDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierDoubleQuoteWithEscapescallsIdentifierDecoderTest::testUnquoteIdentifierEmptycallsIdentifierDecoderTest::testUnquoteIdentifierEmptyBacktickQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierEmptyBracketQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierEmptyDoubleQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierEscapedBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierEscapedBacktickscallsIdentifierDecoderTest::testUnquoteIdentifierEscapedDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierMismatchedQuotescallsIdentifierDecoderTest::testUnquoteIdentifierOnlyOpenBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierOnlyOpenBracketcallsIdentifierDecoderTest::testUnquoteIdentifierOnlyOpenDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharcallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharBracketcallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteBacktickQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteBracketQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteDoubleQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquotedReturnsAsIscallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteEscapedDoubleQuotescallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteUnquotedcallsIdentifierDecoderTest::testUnquoteIdentifierWithLeadingWhitespacecallsIdentifierDecoderTest::testUnquoteIdentifierWithWhitespacecalls
Called from 12
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentColumnParser::parse() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentColumnParser.php:39
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentColumnParser::parse() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentColumnParser.php:42
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:52
- method-call ZtdQuery\Platform\Sqlite\Sql\Lexing\IdentifierDecoder::parseColumnList() packages/ztd-query-sqlite/src/Sql/Lexing/IdentifierDecoder.php:82
- method-call ZtdQuery\Platform\Sqlite\Sql\SqliteParser::unquoteIdentifier() packages/ztd-query-sqlite/src/Sql/SqliteParser.php:278
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:42
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:46
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:59
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:72
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractCreateTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:85
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractDropTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:98
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractAlterTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:111
public function identifierEndIndex(list<SqlToken> $tokens, int $index): intParameters
$tokens | list<SqlToken> | |
$index | int |
Returns
intTest cases 1
Called from 2
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:32
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:36
public function parseColumnList(string $columnList): array<int, string>Parse a comma-separated column list.
Parameters
$columnList | string |
Returns
array<int, string>Test cases 1
Called from 1
Calls 3
- function-call
explodeline 78 - function-call
trimline 80 - method-call IdentifierDecoder::unquoteIdentifier() line 82
Test cases 60§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 32
IdentifierDecoderTest::testIdentifierEndIndexAdvancesOneWholeIdentifiercallsIdentifierDecoderTest::testParseColumnListUnquotesAndOmitsEmptyItemscallsIdentifierDecoderTest::testUnquoteIdentifierBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierBacktickWithEscapescallsIdentifierDecoderTest::testUnquoteIdentifierBracketcallsIdentifierDecoderTest::testUnquoteIdentifierBracketContentcallsIdentifierDecoderTest::testUnquoteIdentifierDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierDoubleQuoteWithEscapescallsIdentifierDecoderTest::testUnquoteIdentifierEmptycallsIdentifierDecoderTest::testUnquoteIdentifierEmptyBacktickQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierEmptyBracketQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierEmptyDoubleQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierEscapedBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierEscapedBacktickscallsIdentifierDecoderTest::testUnquoteIdentifierEscapedDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierMismatchedQuotescallsIdentifierDecoderTest::testUnquoteIdentifierOnlyOpenBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierOnlyOpenBracketcallsIdentifierDecoderTest::testUnquoteIdentifierOnlyOpenDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharcallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharBacktickcallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharBracketcallsIdentifierDecoderTest::testUnquoteIdentifierSingleCharDoubleQuotecallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteBacktickQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteBracketQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteDoubleQuotedcallsIdentifierDecoderTest::testUnquoteIdentifierUnquotedReturnsAsIscallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteEscapedDoubleQuotescallsIdentifierDecoderTest::testUnquoteIdentifierUnquoteUnquotedcallsIdentifierDecoderTest::testUnquoteIdentifierWithLeadingWhitespacecallsIdentifierDecoderTest::testUnquoteIdentifierWithWhitespacecalls
Other tests reaching this symbol 28
ReferencedTableLookupTestcallsMatchExpressionRewriterTestcallsSqliteFullTextSearchRewriterTestcallsSqliteQueryGuardTestcallsSqliteRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertProjectionBuilderTestcallsInsertTransformerTestcallsSelectTransformerTestcallsSqliteTransformerTestcallsUpdateTransformerTestcallsColumnDefinitionParserTestcallsTableDefinitionBuilderTestcallsVirtualTableParserTestcallsSqliteSchemaParserTestcallsAddColumnResolverTestcallsInsertMutationResolverTestcallsRowMutationResolverTestcallsTableMutationResolverTestcallsSqliteMutationResolverTestcallsAssignmentColumnParserTestcallsAssignmentParserTestcallsInsertClauseParserTestcallsUpdateClauseParserTestcallsSqliteParserTestcallsTargetTableParserTestcallsSqliteSessionFactoryTestcalls
Relations§
Instantiated in 14
- new ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentColumnParser::parse() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentColumnParser.php:39
- new ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentColumnParser::parse() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentColumnParser.php:42
- new ZtdQuery\Platform\Sqlite\Sql\Dml\Insert\InsertClauseParser::extractInsertColumns() packages/ztd-query-sqlite/src/Sql/Dml/Insert/InsertClauseParser.php:23
- new ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:32
- new ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:36
- new ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:52
- new ZtdQuery\Platform\Sqlite\Sql\SqliteParser::unquoteIdentifier() packages/ztd-query-sqlite/src/Sql/SqliteParser.php:278
- new ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:42
- new ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:46
- new ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:59
- new ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:72
- new ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractCreateTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:85
- new ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractDropTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:98
- new ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractAlterTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:111
Method calls 14
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentColumnParser::parse() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentColumnParser.php:39
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentColumnParser::parse() packages/ztd-query-sqlite/src/Sql/Dml/Expression/AssignmentColumnParser.php:42
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Insert\InsertClauseParser::extractInsertColumns() packages/ztd-query-sqlite/src/Sql/Dml/Insert/InsertClauseParser.php:23
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:32
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:36
- method-call ZtdQuery\Platform\Sqlite\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-sqlite/src/Sql/Dml/Update/UpdateClauseParser.php:52
- method-call ZtdQuery\Platform\Sqlite\Sql\SqliteParser::unquoteIdentifier() packages/ztd-query-sqlite/src/Sql/SqliteParser.php:278
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:42
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:46
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:59
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:72
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractCreateTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:85
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractDropTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:98
- method-call ZtdQuery\Platform\Sqlite\Sql\Statement\TargetTableParser::extractAlterTableName() packages/ztd-query-sqlite/src/Sql/Statement/TargetTableParser.php:111