classIdentifierDecoder
final class IdentifierDecoder
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Decodes quoted PostgreSQL identifiers and column lists.
Methods§
public function unquoteIdentifier(string $identifier): stringUnquote a PostgreSQL identifier (remove double quotes).
Parameters
$identifier | string |
Returns
stringTest cases 1
Called from 14
- method-call ZtdQuery\Platform\Postgres\Sql\Dml\Delete\DeleteClauseParser::extractDeleteAlias() packages/ztd-query-postgres/src/Sql/Dml/Delete/DeleteClauseParser.php:21
- method-call ZtdQuery\Platform\Postgres\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-postgres/src/Sql/Dml/Update/UpdateClauseParser.php:23
- method-call ZtdQuery\Platform\Postgres\Sql\Dml\Update\UpdateClauseParser::extractUpdateSets() packages/ztd-query-postgres/src/Sql/Dml/Update/UpdateClauseParser.php:50
- method-call ZtdQuery\Platform\Postgres\Sql\Lexing\IdentifierDecoder::parseColumnList() packages/ztd-query-postgres/src/Sql/Lexing/IdentifierDecoder.php:56
- method-call ZtdQuery\Platform\Postgres\Sql\Lexing\IdentifierDecoder::truncateIdentifierAt() packages/ztd-query-postgres/src/Sql/Lexing/IdentifierDecoder.php:84
- method-call ZtdQuery\Platform\Postgres\Sql\PgSqlParser::unquoteIdentifier() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:386
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\ConflictClause::extractOnConflictUpdateColumns() packages/ztd-query-postgres/src/Sql/Statement/ConflictClause.php:152
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:78
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableLikeSource() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:131
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractDropTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:144
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractAlterTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:166
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:21
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:34
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:47
public function stripSchemaPrefix(string $name): stringStrip schema prefix from a potentially schema-qualified name. "public"."users" -> "users", public.users -> users
Parameters
$name | string |
Returns
stringTest cases 1
Called from 8
- method-call ZtdQuery\Platform\Postgres\Sql\PgSqlParser::stripSchemaPrefix() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:398
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:78
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableLikeSource() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:131
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractDropTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:144
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractAlterTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:166
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:21
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:34
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:47
Calls 1
- function-call
preg_matchline 37
public function parseColumnList(string $columnStr): list<string>Parameters
$columnStr | string |
Returns
list<string>Test cases 1
Called from 1
Calls 3
- function-call
explodeline 53 - function-call
trimline 55 - method-call IdentifierDecoder::unquoteIdentifier() line 56
public function truncateIdentifierAt(
SqlTokenStream $stream,
int $index,
): array{name: string, next: int}|nullParameters
$stream | SqlTokenStream | |
$index | int |
Returns
array{name: string, next: int}|nullTest cases 1
Called from 2
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractTruncateTables() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:41
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractTruncateTables() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:49
Calls 4
- method-call SqlTokenStream::significantTokens() line 70
- class-const SqlTokenKind::QuotedIdentifier() line 79
- method-call IdentifierDecoder::unquoteIdentifier() line 84
- method-call SqlTokenStream::identifierAt() line 90
Test cases 27§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
Other tests reaching this symbol 23
PgSqlSessionFactoryTestcallsTableContextTestcallsPgSqlQueryGuardTestcallsPgSqlRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsSelectProjectionTestcallsUpsertProjectionTestcallsValueProjectionTestcallsInsertSelectRendererTestcallsInsertTransformerTestcallsPgSqlTransformerTestcallsUpdateTransformerTestcallsRowMutationResolverTestcallsTableMutationResolverTestcallsPgSqlMutationResolverTestcallsDeleteClauseParserTestcallsInsertClauseParserTestcallsUpdateClauseParserTestcallsPgSqlParserTestcallsConflictClauseTestcallsTableDefinitionClausesTestcallsTargetTableParserTestcalls
Relations§
Instantiated in 16
- new ZtdQuery\Platform\Postgres\Sql\Dml\Delete\DeleteClauseParser::extractDeleteAlias() packages/ztd-query-postgres/src/Sql/Dml/Delete/DeleteClauseParser.php:21
- new ZtdQuery\Platform\Postgres\Sql\Dml\Insert\InsertClauseParser::extractInsertColumns() packages/ztd-query-postgres/src/Sql/Dml/Insert/InsertClauseParser.php:25
- new ZtdQuery\Platform\Postgres\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-postgres/src/Sql/Dml/Update/UpdateClauseParser.php:23
- new ZtdQuery\Platform\Postgres\Sql\Dml\Update\UpdateClauseParser::extractUpdateSets() packages/ztd-query-postgres/src/Sql/Dml/Update/UpdateClauseParser.php:50
- new ZtdQuery\Platform\Postgres\Sql\PgSqlParser::unquoteIdentifier() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:386
- new ZtdQuery\Platform\Postgres\Sql\PgSqlParser::stripSchemaPrefix() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:398
- new ZtdQuery\Platform\Postgres\Sql\Statement\ConflictClause::extractOnConflictUpdateColumns() packages/ztd-query-postgres/src/Sql/Statement/ConflictClause.php:152
- new ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractTruncateTables() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:41
- new ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractTruncateTables() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:49
- new ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:78
- new ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableLikeSource() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:131
- new ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractDropTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:144
- new ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractAlterTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:166
- new ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:21
- new ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:34
- new ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:47
Method calls 23
- method-call ZtdQuery\Platform\Postgres\Sql\Dml\Delete\DeleteClauseParser::extractDeleteAlias() packages/ztd-query-postgres/src/Sql/Dml/Delete/DeleteClauseParser.php:21
- method-call ZtdQuery\Platform\Postgres\Sql\Dml\Insert\InsertClauseParser::extractInsertColumns() packages/ztd-query-postgres/src/Sql/Dml/Insert/InsertClauseParser.php:25
- method-call ZtdQuery\Platform\Postgres\Sql\Dml\Update\UpdateClauseParser::extractUpdateAlias() packages/ztd-query-postgres/src/Sql/Dml/Update/UpdateClauseParser.php:23
- method-call ZtdQuery\Platform\Postgres\Sql\Dml\Update\UpdateClauseParser::extractUpdateSets() packages/ztd-query-postgres/src/Sql/Dml/Update/UpdateClauseParser.php:50
- method-call ZtdQuery\Platform\Postgres\Sql\PgSqlParser::unquoteIdentifier() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:386
- method-call ZtdQuery\Platform\Postgres\Sql\PgSqlParser::stripSchemaPrefix() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:398
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\ConflictClause::extractOnConflictUpdateColumns() packages/ztd-query-postgres/src/Sql/Statement/ConflictClause.php:152
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractTruncateTables() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:41
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractTruncateTables() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:49
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:78
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:78
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableLikeSource() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:131
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractCreateTableLikeSource() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:131
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractDropTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:144
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractDropTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:144
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractAlterTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:166
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TableDefinitionClauses::extractAlterTableName() packages/ztd-query-postgres/src/Sql/Statement/TableDefinitionClauses.php:166
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:21
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractInsertTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:21
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:34
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractUpdateTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:34
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:47
- method-call ZtdQuery\Platform\Postgres\Sql\Statement\TargetTableParser::extractDeleteTable() packages/ztd-query-postgres/src/Sql/Statement/TargetTableParser.php:47