classPgSqlParser
final class PgSqlParser
@visibility public.Focused PostgreSQL SQL parser.
Handles the ZTD-required SQL subset: SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE, ALTER TABLE, TRUNCATE.
Uses regex + recursive descent hybrid approach to extract structural information without a full PostgreSQL grammar parser.
(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->classifyStatement('SELECT 1') // => 'SELECT'Methods§
public function classifyStatement(string $sql): 'SELECT'|'INSERT'|'UPDATE'|'DELETE'|'MERGE'|'TRUNCATE'|'CREATE_TABLE'|'DROP_TABLE'|'ALTER_TABLE'|'DO'|'TCL'|null@visibility public.Classify a SQL statement type.
Parameters
$sql | string |
Returns
'SELECT'|'INSERT'|'UPDATE'|'DELETE'|'MERGE'|'TRUNCATE'|'CREATE_TABLE'|'DROP_TABLE'|'ALTER_TABLE'|'DO'|'TCL'|null(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->classifyStatement('WITH ids AS (SELECT 1) DELETE FROM users WHERE id IN (SELECT * FROM ids)') // => 'DELETE'Test cases 77
ParserBench::benchClassifySelectcallsPgSqlParserTest::testClassifiesAnonymousDoBlockWithoutSplittingItsBodycallsPgSqlParserTest::testClassifiesMergeWithAndWithoutCtePrefixcallsPgSqlParserTest::testClassifyAlterTablecallsPgSqlParserTest::testClassifyAlterTableLowercasecallsPgSqlParserTest::testClassifyAlterTableWithDropTableInCommentcallsPgSqlParserTest::testClassifyBlockCommentOnlyNoClosecallsPgSqlParserTest::testClassifyCreateTablecallsPgSqlParserTest::testClassifyCreateTableContainingSelectKeywordcallsPgSqlParserTest::testClassifyCreateTableLowercasecallsPgSqlParserTest::testClassifyCreateTableWithTruncateInDefaultcallsPgSqlParserTest::testClassifyCreateTempTablecallsPgSqlParserTest::testClassifyDeletecallsPgSqlParserTest::testClassifyDeleteContainingInsertNotMisclassifiedcallsPgSqlParserTest::testClassifyDeleteContainingUpdateKeywordcallsPgSqlParserTest::testClassifyDeleteLowercasecallsPgSqlParserTest::testClassifyDropTablecallsPgSqlParserTest::testClassifyDropTableLowercasecallsPgSqlParserTest::testClassifyDropTableWithCreateTableInCommentcallsPgSqlParserTest::testClassifyEmptyStringReturnsNullcallsPgSqlParserTest::testClassifyInsertcallsPgSqlParserTest::testClassifyInsertLowercasecallsPgSqlParserTest::testClassifyInsertSelectNotMisclassifiedAsSelectcallsPgSqlParserTest::testClassifyLineCommentNoNewlinecallsPgSqlParserTest::testClassifyReleaseSavepointAsTclcallsPgSqlParserTest::testClassifySavepointAsTclcallsPgSqlParserTest::testClassifySelectcallsPgSqlParserTest::testClassifySelectLowercasecallsPgSqlParserTest::testClassifySelectNotMatchedByWithcallsPgSqlParserTest::testClassifySetTransactionAsTclcallsPgSqlParserTest::testClassifySimpleStatementWithLeadingWhitespacecallsPgSqlParserTest::testClassifySimpleStatementWithLtrimNeededcallsPgSqlParserTest::testClassifyStartTransactionAsTclcallsPgSqlParserTest::testClassifyStatementLeadingLineAndBlockCommentscallsPgSqlParserTest::testClassifyStatementSETTransactionTCLcallsPgSqlParserTest::testClassifyStatementStartTransactioncallsPgSqlParserTest::testClassifyStatementTruncateContainsTclKeywordInBodycallsPgSqlParserTest::testClassifyStatementWithInternalWithKeywordcallsPgSqlParserTest::testClassifyStatementWithTwoLeadingLineCommentscallsPgSqlParserTest::testClassifyTclcallsPgSqlParserTest::testClassifyTclBEGINWithAlterTableCommentcallsPgSqlParserTest::testClassifyTclLowercasecallsPgSqlParserTest::testClassifyTclVariantscallsPgSqlParserTest::testClassifyTclWithAlterTableInCommentcallsPgSqlParserTest::testClassifyTruncatecallsPgSqlParserTest::testClassifyTruncateContainsDeleteInCommentcallsPgSqlParserTest::testClassifyTruncateLowercasecallsPgSqlParserTest::testClassifyTruncateWithDeleteInCommentcallsPgSqlParserTest::testClassifyUnknownReturnsNullcallsPgSqlParserTest::testClassifyUpdatecallsPgSqlParserTest::testClassifyUpdateContainingSelectNotMisclassifiedcallsPgSqlParserTest::testClassifyUpdateLowercasecallsPgSqlParserTest::testClassifyWithBlockCommentcallsPgSqlParserTest::testClassifyWithBlockCommentNoNewlinecallsPgSqlParserTest::testClassifyWithCteAliascallsPgSqlParserTest::testClassifyWithDeletecallsPgSqlParserTest::testClassifyWithDeleteTerminalcallsPgSqlParserTest::testClassifyWithInsertcallsPgSqlParserTest::testClassifyWithLeadingBlockCommentAndLineCommentcallsPgSqlParserTest::testClassifyWithLeadingCommentscallsPgSqlParserTest::testClassifyWithLeadingLineCommentNoNewlinecallsPgSqlParserTest::testClassifyWithLowercasecallsPgSqlParserTest::testClassifyWithMixedCasecallsPgSqlParserTest::testClassifyWithNestedParenscallsPgSqlParserTest::testClassifyWithNoTerminalKeywordcallsPgSqlParserTest::testClassifyWithQuotedIdentifiercallsPgSqlParserTest::testClassifyWithRecursivecallsPgSqlParserTest::testClassifyWithSelectcallsPgSqlParserTest::testClassifyWithSemicoloncallsPgSqlParserTest::testClassifyWithStatementDepthNeverNegativecallsPgSqlParserTest::testClassifyWithStatementQuotedIdentifiercallsPgSqlParserTest::testClassifyWithStatementQuotedIdentifierWithParencallsPgSqlParserTest::testClassifyWithStatementStartAnchorcallsPgSqlParserTest::testClassifyWithUpdatecallsPgSqlParserTest::testClassifyWithUpdateTerminalcallsPgSqlParserTest::testStripLeadingBlockCommentOnlycallsPgSqlParserTest::testStripLeadingMixedCommentscalls
Called from 3
- method-call ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard::classify() packages/ztd-query-postgres/src/Rewrite/PgSqlQueryGuard.php:49
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:78
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:51
Calls 2
public function splitStatements(string $sql): list<string>@visibility public.Split SQL string into individual statements.
Parameters
$sql | string |
Returns
list<string>(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->splitStatements("SELECT ';'; SELECT 2") // => ["SELECT ';'", 'SELECT 2']Test cases 32
ParserBench::benchSplitInsertcallsPgSqlParserTest::testClassifiesAnonymousDoBlockWithoutSplittingItsBodycallsPgSqlParserTest::testSplitBlockCommentcallsPgSqlParserTest::testSplitDollarQuoteAlphanumTagcallsPgSqlParserTest::testSplitDollarQuoteEmptycallsPgSqlParserTest::testSplitDollarQuoteWithTagcallsPgSqlParserTest::testSplitDoubleQuotedIdentifiercallsPgSqlParserTest::testSplitEmptyInputcallsPgSqlParserTest::testSplitEscapedDoubleQuotecallsPgSqlParserTest::testSplitEscapedSingleQuotecallsPgSqlParserTest::testSplitHandlesDollarQuotingcallsPgSqlParserTest::testSplitHandlesStringLiteralscallsPgSqlParserTest::testSplitLineCommentcallsPgSqlParserTest::testSplitLineCommentAtEndcallsPgSqlParserTest::testSplitMultipleExactContentcallsPgSqlParserTest::testSplitMultipleStatementscallsPgSqlParserTest::testSplitSingleStatementcallsPgSqlParserTest::testSplitStatementsAsteriskNotTreatedAsBlockCommentcallsPgSqlParserTest::testSplitStatementsDivisionNotTreatedAsBlockCommentcallsPgSqlParserTest::testSplitStatementsExactOutputcallsPgSqlParserTest::testSplitStatementsNewlineInDollarQuotecallsPgSqlParserTest::testSplitStatementsNewlineInSingleQuotecallsPgSqlParserTest::testSplitStatementsPreservesContentcallsPgSqlParserTest::testSplitStatementsPreservesEscapedBackslashcallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideBlockCommentcallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideDollarQuotecallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideDoubleQuotecallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideSingleQuotecallsPgSqlParserTest::testSplitStatementsSemicolonInsideLineCommentcallsPgSqlParserTest::testSplitStatementsSubtractionNotTreatedAsCommentcallsPgSqlParserTest::testSplitTrailingSemicoloncallsPgSqlParserTest::testSplitWhitespaceOnlycalls
Called from 1
Calls 2
- static-call SqlTokenStream::tokenize() line 50
- static-call PgSqlLexerProfile::create() line 50
public function extractInsertTable(string $sql): ?string@visibility public.Extract table name from INSERT statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractInsertTable('INSERT INTO public.users (id) VALUES (1)') // => 'users'Test cases 13
PgSqlParserTest::testExtractInsertTablecallsPgSqlParserTest::testExtractInsertTableAfterBlockCommentcallsPgSqlParserTest::testExtractInsertTableLowercasecallsPgSqlParserTest::testExtractInsertTableOnlycallsPgSqlParserTest::testExtractInsertTableOnlyLowercasecallsPgSqlParserTest::testExtractInsertTableQuotedcallsPgSqlParserTest::testExtractInsertTableQuotedSchemaQualifiedcallsPgSqlParserTest::testExtractInsertTableReturnsNullOnEmptycallsPgSqlParserTest::testExtractInsertTableReturnsNullOnInvalidcallsPgSqlParserTest::testExtractInsertTableSchemaQualifiedcallsPgSqlParserTest::testExtractInsertTableWithAliascallsPgSqlParserTest::testExtractInsertTableWithAsAliascallsPgSqlParserTest::testExtractInsertTableWithSchemaLowercasecalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:56
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveInsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:51
Calls 2
- method-call TargetTableParser::extractInsertTable() line 61
- new TargetTableParser line 61
public function extractInsertColumns(string $sql): list<string>@visibility public.Extract column list from INSERT statement.
Parameters
$sql | string |
Returns
list<string>(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractInsertColumns('INSERT INTO users (id, name) VALUES (1, NULL)') // => ['id', 'name']Test cases 9
PgSqlParserTest::testExtractInsertColumnscallsPgSqlParserTest::testExtractInsertColumnsEmptycallsPgSqlParserTest::testExtractInsertColumnsFromMultilineInsertcallsPgSqlParserTest::testExtractInsertColumnsLowercasecallsPgSqlParserTest::testExtractInsertColumnsNoParenscallsPgSqlParserTest::testExtractInsertColumnsQuotedcallsPgSqlParserTest::testExtractInsertColumnsWithDefaultcallsPgSqlParserTest::testExtractInsertColumnsWithSelectcallsPgSqlParserTest::testExtractInsertColumnsWithSelectKeywordcalls
Called from 1
Calls 2
public function extractInsertValues(string $sql): list<list<string>>@visibility public.Extract VALUES rows from INSERT statement.
Parameters
$sql | string |
Returns
list<list<string>>(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractInsertValues('INSERT INTO users (id) VALUES (1), (2)') // => [['1'], ['2']]Test cases 27
PgSqlParserTest::testExtractInsertValuesCommaInsideDoubleQuotedDefaultcallsPgSqlParserTest::testExtractInsertValuesCommaInsideSingleQuotecallsPgSqlParserTest::testExtractInsertValuesEmptycallsPgSqlParserTest::testExtractInsertValuesEscapedQuoteMiddlecallsPgSqlParserTest::testExtractInsertValuesExactMultiplecallsPgSqlParserTest::testExtractInsertValuesKeepsArrayConstructorTogethercallsPgSqlParserTest::testExtractInsertValuesLowercasecallsPgSqlParserTest::testExtractInsertValuesMultiLinecallsPgSqlParserTest::testExtractInsertValuesMultilineInsideParenscallsPgSqlParserTest::testExtractInsertValuesMultiplecallsPgSqlParserTest::testExtractInsertValuesMultipleRowscallsPgSqlParserTest::testExtractInsertValuesMultipleRowsWithSpacescallsPgSqlParserTest::testExtractInsertValuesNewlineInsideParenscallsPgSqlParserTest::testExtractInsertValuesNoValuescallsPgSqlParserTest::testExtractInsertValuesSinglecallsPgSqlParserTest::testExtractInsertValuesWithEscapedQuotecallsPgSqlParserTest::testExtractInsertValuesWithEscapedSingleQuoteInValuecallsPgSqlParserTest::testExtractInsertValuesWithLeadingWhitespacecallsPgSqlParserTest::testExtractInsertValuesWithNewlineAfterValuescallsPgSqlParserTest::testExtractInsertValuesWithNewlineInStringValuecallsPgSqlParserTest::testExtractInsertValuesWithSubquerycallsPgSqlParserTest::testExtractInsertValuesWithWhitespacecallsPgSqlParserTest::testInsertSourceHandlesQuotedIdentifierBoundariescallsPgSqlParserTest::testInsertSourceIgnoresNestedKeywordBeforeValuescallsPgSqlParserTest::testInsertSourceRequiresInsertStatementcallsPgSqlParserTest::testInsertValuesDoesNotUnderflowArrayBracketDepthcallsPgSqlParserTest::testInsertValuesSourceIgnoresQuotedKeywordIdentifierscalls
Called from 1
Calls 2
public function hasOnConflict(string $sql): bool@visibility public.Check if INSERT has ON CONFLICT clause.
Parameters
$sql | string |
Returns
bool(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->hasOnConflict('INSERT INTO users VALUES (1) ON CONFLICT DO NOTHING') // => trueTest cases 5
Called from 1
Calls 2
- method-call ConflictClause::hasOnConflict() line 98
- new ConflictClause line 98
public function extractOnConflictTarget(string $sql): ?PgSqlConflictTarget@visibility public.Parses ON CONFLICT columns, predicates, or a named constraint.
Parameters
$sql | string |
Returns
(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractOnConflictTarget('INSERT INTO users VALUES (1) ON CONFLICT (id) DO NOTHING')?->columns // => ['id']Test cases 4
PgSqlParserTest::testConflictTargetSkipsNestedAnchorsAndStopsAtTheActionBoundarycallsPgSqlParserTest::testExtractOnConflictTargetExtractsPartialConflictTargetStructurallycallsPgSqlParserTest::testExtractsNamedAndUnspecifiedConflictTargetscallsPgSqlParserTest::testRejectsMalformedConflictTargetscalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection::projectUpsert() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:50
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveInsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:65
Calls 2
- method-call ConflictClause::extractOnConflictTarget() line 109
- new ConflictClause line 109
public function extractOnConflictUpdateColumns(string $sql): array{columns: list<string>, values: array<string, string>}@visibility public.Extract ON CONFLICT ... DO UPDATE SET columns and values.
Parameters
$sql | string |
Returns
array{columns: list<string>, values: array<string, string>}(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractOnConflictUpdateColumns('INSERT INTO users VALUES (1) ON CONFLICT (id) DO UPDATE SET id = 2') // => ['columns' => ['id'], 'values' => ['id' => '2']]Test cases 35
PgSqlParserTest::testConflictAssignmentsIgnoreNestedWhereAndReturningKeywordscallsPgSqlParserTest::testExtractOnConflictAssignmentMultiLinecallsPgSqlParserTest::testExtractOnConflictColumnsAssignmentWithPaddedEqualscallsPgSqlParserTest::testExtractOnConflictColumnsCommaInDoubleQuotedColcallsPgSqlParserTest::testExtractOnConflictColumnsLowercaseAscallsPgSqlParserTest::testExtractOnConflictColumnsMultilineAssignmentcallsPgSqlParserTest::testExtractOnConflictColumnsMultilineSetWithWhereFiltercallsPgSqlParserTest::testExtractOnConflictColumnsValueWithNewlinecallsPgSqlParserTest::testExtractOnConflictColumnsWithLowercaseDoUpdateSetcallsPgSqlParserTest::testExtractOnConflictColumnTrimmedcallsPgSqlParserTest::testExtractOnConflictDoNothingcallsPgSqlParserTest::testExtractOnConflictDoNothingReturnsEmptyColumnscallsPgSqlParserTest::testExtractOnConflictLowercasecallsPgSqlParserTest::testExtractOnConflictNewlineInsideSetClausecallsPgSqlParserTest::testExtractOnConflictQuotedColumncallsPgSqlParserTest::testExtractOnConflictRejectsNonUpdateActionContainingSetcallsPgSqlParserTest::testExtractOnConflictSetMultipleColumnsExactcallsPgSqlParserTest::testExtractOnConflictSetWithQuotedColumnsLowercasecallsPgSqlParserTest::testExtractOnConflictStopsBeforeReturningWithoutWherecallsPgSqlParserTest::testExtractOnConflictUpdateColumnscallsPgSqlParserTest::testExtractOnConflictUpdateColumnsAssignmentPregDollarcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsCommaInValuecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsLowercasecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsMultiLinecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsMultilineAssignmentcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsMultiplecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsNoConflictcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsValueTrimmedcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsWithLeadingWhitespacecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsWithWherecallsPgSqlParserTest::testExtractOnConflictWhereClauseRemovedcallsPgSqlParserTest::testExtractOnConflictWithQuotedColumnInSetcallsPgSqlParserTest::testExtractOnConflictWithTrailingSemicoloncallsPgSqlParserTest::testExtractOnConflictWithTrailingWhitespacecallsPgSqlParserTest::testExtractOnConflictWithWhereClausecalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection::projectUpsert() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:45
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveInsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:61
Calls 2
public function extractOnConflictUpdateWhere(string $sql): ?string@visibility public.Returns the predicate limiting an ON CONFLICT update, when present.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractOnConflictUpdateWhere('INSERT INTO users VALUES (1) ON CONFLICT (id) DO UPDATE SET id = 2 WHERE users.id = 1') // => 'users.id = 1'Test cases 3
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection::projectUpsert() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:69
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:205
Calls 2
public function hasInsertSelect(string $sql): bool@visibility public.Check if INSERT has a SELECT subquery (INSERT ... SELECT).
Parameters
$sql | string |
Returns
bool(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->hasInsertSelect('INSERT INTO users (id) SELECT id FROM archive') // => trueTest cases 21
PgSqlParserTest::testHasInsertSelectcallsPgSqlParserTest::testHasInsertSelectCaseInsensitivecallsPgSqlParserTest::testHasInsertSelectFalseForInsertValuescallsPgSqlParserTest::testHasInsertSelectLowercasecallsPgSqlParserTest::testHasInsertSelectLowercaseKeywordscallsPgSqlParserTest::testHasInsertSelectLowercaseValuescallsPgSqlParserTest::testHasInsertSelectMultiLinecallsPgSqlParserTest::testHasInsertSelectNewlineBeforeSelectcallsPgSqlParserTest::testHasInsertSelectWithColumnsBeforeSelectcallsPgSqlParserTest::testHasInsertSelectWithLowercaseValuescallsPgSqlParserTest::testHasInsertSelectWithNewlineBeforeSelectcallsPgSqlParserTest::testHasInsertSelectWithSubqueryInValuescallsPgSqlParserTest::testHasInsertSelectWithValueLookingLikeSelectcallsPgSqlParserTest::testHasInsertSelectWithValuesFalsecallsPgSqlParserTest::testHasInsertSelectWithValuesReturnsFalsecallsPgSqlParserTest::testInsertSelectSourceStartsAfterQuotedKeywordIdentifierscallsPgSqlParserTest::testInsertSourceDoesNotUnderflowParenthesisDepthcallsPgSqlParserTest::testInsertSourceHandlesQuotedIdentifierBoundariescallsPgSqlParserTest::testInsertSourceIgnoresNestedKeywordBeforeValuescallsPgSqlParserTest::testInsertSourceRequiresInsertStatementcallsPgSqlParserTest::testInsertValuesSourceIgnoresQuotedKeywordIdentifierscalls
Called from 1
Calls 2
- method-call InsertClauseParser::hasInsertSelect() line 144
- new InsertClauseParser line 144
public function extractInsertSelectSql(string $sql): ?string@visibility public.Extract the SELECT part from INSERT ... SELECT.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractInsertSelectSql('INSERT INTO users (id) SELECT id FROM archive') // => 'SELECT id FROM archive'Test cases 11
PgSqlParserTest::testExtractInsertSelectSqlcallsPgSqlParserTest::testExtractInsertSelectSqlExactcallsPgSqlParserTest::testExtractInsertSelectSqlLowercasecallsPgSqlParserTest::testExtractInsertSelectSqlReturnsNullcallsPgSqlParserTest::testExtractInsertSelectSqlReturnsNullNoSelectcallsPgSqlParserTest::testInsertSelectSourceStartsAfterQuotedKeywordIdentifierscallsPgSqlParserTest::testInsertSourceDoesNotUnderflowParenthesisDepthcallsPgSqlParserTest::testInsertSourceHandlesQuotedIdentifierBoundariescallsPgSqlParserTest::testInsertSourceIgnoresNestedKeywordBeforeValuescallsPgSqlParserTest::testInsertSourceRequiresInsertStatementcallsPgSqlParserTest::testInsertValuesSourceIgnoresQuotedKeywordIdentifierscalls
Called from 1
Calls 2
public function extractUpdateTable(string $sql): ?string@visibility public.Extract table name from UPDATE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractUpdateTable('UPDATE public.users SET id = 2') // => 'users'Test cases 9
PgSqlParserTest::testExtractUpdateTablecallsPgSqlParserTest::testExtractUpdateTableAfterNestedBlockCommentcallsPgSqlParserTest::testExtractUpdateTableLowercasecallsPgSqlParserTest::testExtractUpdateTableLowercaseOnlycallsPgSqlParserTest::testExtractUpdateTableOnlycallsPgSqlParserTest::testExtractUpdateTableOnlyLowercasecallsPgSqlParserTest::testExtractUpdateTableQuotedcallsPgSqlParserTest::testExtractUpdateTableReturnsNullcallsPgSqlParserTest::testExtractUpdateTableSchemaQualifiedcalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:43
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:107
Calls 2
- method-call TargetTableParser::extractUpdateTable() line 166
- new TargetTableParser line 166
public function extractUpdateAlias(string $sql): ?string@visibility public.Extract table alias from UPDATE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractUpdateAlias('UPDATE users AS u SET id = 2') // => 'u'Test cases 6
PgSqlParserTest::testExtractUpdateAliascallsPgSqlParserTest::testExtractUpdateAliasAscallsPgSqlParserTest::testExtractUpdateAliasLowercasecallsPgSqlParserTest::testExtractUpdateAliasReturnsNullcallsPgSqlParserTest::testExtractUpdateAliasReturnsNullNoAliascallsPgSqlParserTest::testExtractUpdateAliasWithoutAscalls
Called from 1
Calls 2
public function extractUpdateSets(string $sql): array<string, string>@visibility public.Extract SET assignments from UPDATE statement.
Parameters
$sql | string |
Returns
array<string, string> column => value expression(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractUpdateSets('UPDATE users SET id = 2, name = NULL WHERE id = 1') // => ['id' => '2', 'name' => 'NULL']Test cases 40
PgSqlParserTest::testCommentMarkersInsideQuotedValuesRemainDatacallsPgSqlParserTest::testExtractUpdateSetscallsPgSqlParserTest::testExtractUpdateSetsAssignmentValueTrimmedcallsPgSqlParserTest::testExtractUpdateSetsAssignmentWithNewlineInValuecallsPgSqlParserTest::testExtractUpdateSetsCommaInSingleQuotedValuecallsPgSqlParserTest::testExtractUpdateSetsEmptycallsPgSqlParserTest::testExtractUpdateSetsEmptySetClausecallsPgSqlParserTest::testExtractUpdateSetsLowercasecallsPgSqlParserTest::testExtractUpdateSetsLowercaseKeywordscallsPgSqlParserTest::testExtractUpdateSetsLowercaseReturningcallsPgSqlParserTest::testExtractUpdateSetsMultiLinecallsPgSqlParserTest::testExtractUpdateSetsMultilineAssignmentcallsPgSqlParserTest::testExtractUpdateSetsMultiLineFromClausecallsPgSqlParserTest::testExtractUpdateSetsMultilineSetToFromcallsPgSqlParserTest::testExtractUpdateSetsMultipleColumnscallsPgSqlParserTest::testExtractUpdateSetsNewlineInAssignmentcallsPgSqlParserTest::testExtractUpdateSetsNewlineInValuecallsPgSqlParserTest::testExtractUpdateSetsOnlySetColumnscallsPgSqlParserTest::testExtractUpdateSetsPregDollarAnchorcallsPgSqlParserTest::testExtractUpdateSetsQuotedColumncallsPgSqlParserTest::testExtractUpdateSetsReturningcallsPgSqlParserTest::testExtractUpdateSetsReturningSensitivecallsPgSqlParserTest::testExtractUpdateSetsValueWithTrailingNewlinecallsPgSqlParserTest::testExtractUpdateSetsWithFromcallsPgSqlParserTest::testExtractUpdateSetsWithLeadingWhitespacecallsPgSqlParserTest::testExtractUpdateSetsWithNewlineInSetClausecallsPgSqlParserTest::testExtractUpdateSetsWithNewlineInValuecallsPgSqlParserTest::testExtractUpdateSetsWithPaddedAssignmentcallsPgSqlParserTest::testExtractUpdateSetsWithSingleQuoteInValuecallsPgSqlParserTest::testExtractUpdateSetsWithSubquerycallsPgSqlParserTest::testExtractUpdateSetsWithSubqueryInValuecallsPgSqlParserTest::testSplitByTopLevelCommaDoubleQuotedStringWithCommacallsPgSqlParserTest::testSplitByTopLevelCommaTrimsLastItemcallsPgSqlParserTest::testSplitByTopLevelCommaTrimsResultscallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithDoubleQuotedCommacallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithEscapedQuotecallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithQuotedColumncallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithSingleQuotedCommacallsPgSqlParserTest::testSplitByTopLevelCommaViaUpdateSetsWithParenthesescallsPgSqlParserTest::testUpdateClausesIgnoreKeywordsInsideExpressionsAndSubqueriescalls
Called from 1
Calls 2
public function extractWhereClause(string $sql): ?string@visibility public.Extract WHERE clause from UPDATE or DELETE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractWhereClause('DELETE FROM users WHERE id = 1 RETURNING id') // => 'id = 1'Test cases 37
PgSqlParserTest::testExtractWhereClausecallsPgSqlParserTest::testExtractWhereClauseAfterDollarQuotedStringcallsPgSqlParserTest::testExtractWhereClauseAfterDoubledQuoteStringcallsPgSqlParserTest::testExtractWhereClauseAfterEscapeStringcallsPgSqlParserTest::testExtractWhereClauseAfterTaggedDollarQuotedStringcallsPgSqlParserTest::testExtractWhereClauseExactFromUpdatecallsPgSqlParserTest::testExtractWhereClauseExactTrimmingcallsPgSqlParserTest::testExtractWhereClauseFromDeleteWithUsingcallsPgSqlParserTest::testExtractWhereClauseFromMultilineUpdatecallsPgSqlParserTest::testExtractWhereClauseFromUpdateWithFromcallsPgSqlParserTest::testExtractWhereClauseLowercasecallsPgSqlParserTest::testExtractWhereClauseLowercaseLimitcallsPgSqlParserTest::testExtractWhereClauseLowercaseOrderBycallsPgSqlParserTest::testExtractWhereClauseLowercaseReturningcallsPgSqlParserTest::testExtractWhereClauseLowercaseWherecallsPgSqlParserTest::testExtractWhereClauseMultiLinecallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeLimitcallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeOrderBycallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeReturningcallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeReturningKeywordcallsPgSqlParserTest::testExtractWhereClauseReturnsNullcallsPgSqlParserTest::testExtractWhereClauseReturnsTrimmedResultcallsPgSqlParserTest::testExtractWhereClauseTrimmedcallsPgSqlParserTest::testExtractWhereClauseWithLimitcallsPgSqlParserTest::testExtractWhereClauseWithMultilineLimitcallsPgSqlParserTest::testExtractWhereClauseWithMultilineOrderBycallsPgSqlParserTest::testExtractWhereClauseWithMultilineReturningcallsPgSqlParserTest::testExtractWhereClauseWithNewlineBeforeReturningcallsPgSqlParserTest::testExtractWhereClauseWithOrderBycallsPgSqlParserTest::testExtractWhereClauseWithOrderByMultiWordcallsPgSqlParserTest::testExtractWhereClauseWithReturningcallsPgSqlParserTest::testExtractWhereClauseWithStringLiteralcallsPgSqlParserTest::testExtractWhereClauseWithStringLiteralContainingWherecallsPgSqlParserTest::testMapStrippedOffsetWhenLengthsMatchcallsPgSqlParserTest::testMapStrippedOffsetWithStringLiteralcallsPgSqlParserTest::testReturnRemovalFromMapStrippedOffsetToOriginalcallsPgSqlParserTest::testUpdateClausesIgnoreKeywordsInsideExpressionsAndSubqueriescalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:89
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:94
Calls 2
- static-call SqlTokenStream::tokenize() line 201
- static-call PgSqlLexerProfile::create() line 201
public function extractUpdateFromClause(string $sql): ?string@visibility public.Extract FROM clause from UPDATE statement (PostgreSQL extension).
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractUpdateFromClause('UPDATE users SET id = a.id FROM archive AS a WHERE users.id = a.id') // => 'archive AS a'Test cases 16
PgSqlParserTest::testExtractUpdateFromClausecallsPgSqlParserTest::testExtractUpdateFromClauseExactTrimmingcallsPgSqlParserTest::testExtractUpdateFromClauseLowercasecallsPgSqlParserTest::testExtractUpdateFromClauseLowercaseFromAndSetcallsPgSqlParserTest::testExtractUpdateFromClauseMultiLinecallsPgSqlParserTest::testExtractUpdateFromClauseMultilineFromcallsPgSqlParserTest::testExtractUpdateFromClauseNewlineAfterFromcallsPgSqlParserTest::testExtractUpdateFromClauseNewlineBeforeReturningcallsPgSqlParserTest::testExtractUpdateFromClauseNewlineBeforeWherecallsPgSqlParserTest::testExtractUpdateFromClauseReturnsNullcallsPgSqlParserTest::testExtractUpdateFromClauseReturnsTrimmedResultcallsPgSqlParserTest::testExtractUpdateFromClauseTrimmedcallsPgSqlParserTest::testExtractUpdateFromClauseTrimmedResultcallsPgSqlParserTest::testExtractUpdateFromClauseWithMultipleTablescallsPgSqlParserTest::testExtractUpdateFromClauseWithReturningcallsPgSqlParserTest::testUpdateClausesIgnoreKeywordsInsideExpressionsAndSubqueriescalls
Called from 1
Calls 2
- static-call SqlTokenStream::tokenize() line 215
- static-call PgSqlLexerProfile::create() line 215
public function extractDeleteTable(string $sql): ?string@visibility public.Extract table name from DELETE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractDeleteTable('DELETE FROM public.users WHERE id = 1') // => 'users'Test cases 10
PgSqlParserTest::testExtractDeleteTablecallsPgSqlParserTest::testExtractDeleteTableAfterBlockCommentcallsPgSqlParserTest::testExtractDeleteTableLowercasecallsPgSqlParserTest::testExtractDeleteTableLowercaseOnlycallsPgSqlParserTest::testExtractDeleteTableOnlycallsPgSqlParserTest::testExtractDeleteTableOnlyLowercasecallsPgSqlParserTest::testExtractDeleteTableQuotedcallsPgSqlParserTest::testExtractDeleteTableReturnsNullcallsPgSqlParserTest::testExtractDeleteTableReturnsNullOnNonDeletecallsPgSqlParserTest::testExtractDeleteTableSchemaQualifiedcalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:43
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:131
Calls 2
- method-call TargetTableParser::extractDeleteTable() line 229
- new TargetTableParser line 229
public function extractDeleteAlias(string $sql): ?string@visibility public.Extract table alias from DELETE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractDeleteAlias('DELETE FROM users AS u WHERE u.id = 1') // => 'u'Test cases 11
PgSqlParserTest::testExtractDeleteAliascallsPgSqlParserTest::testExtractDeleteAliasAscallsPgSqlParserTest::testExtractDeleteAliasAtEndOfStatementcallsPgSqlParserTest::testExtractDeleteAliasEndOfStatementcallsPgSqlParserTest::testExtractDeleteAliasLowercasecallsPgSqlParserTest::testExtractDeleteAliasReturningcallsPgSqlParserTest::testExtractDeleteAliasReturnsNullcallsPgSqlParserTest::testExtractDeleteAliasUsingcallsPgSqlParserTest::testExtractDeleteAliasWithReturningcallsPgSqlParserTest::testExtractDeleteAliasWithUsingcallsPgSqlParserTest::testExtractDeleteAliasWithWherecalls
Called from 1
Calls 2
public function extractDeleteUsingClause(string $sql): ?string@visibility public.Extract USING clause from DELETE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractDeleteUsingClause('DELETE FROM users USING archive WHERE users.id = archive.id') // => 'archive'Test cases 15
PgSqlParserTest::testExtractDeleteUsingClausecallsPgSqlParserTest::testExtractDeleteUsingClauseExactTrimmingcallsPgSqlParserTest::testExtractDeleteUsingClauseLowercasecallsPgSqlParserTest::testExtractDeleteUsingClauseLowercaseUsingcallsPgSqlParserTest::testExtractDeleteUsingClauseLowercaseUsingAndWherecallsPgSqlParserTest::testExtractDeleteUsingClauseMultiLinecallsPgSqlParserTest::testExtractDeleteUsingClauseNewlineAfterUsingcallsPgSqlParserTest::testExtractDeleteUsingClauseNewlineBeforeReturningcallsPgSqlParserTest::testExtractDeleteUsingClauseNewlineBeforeWherecallsPgSqlParserTest::testExtractDeleteUsingClauseReturnsNullcallsPgSqlParserTest::testExtractDeleteUsingClauseReturnsTrimmedResultcallsPgSqlParserTest::testExtractDeleteUsingClauseTrimmedcallsPgSqlParserTest::testExtractDeleteUsingClauseTrimmedOutputcallsPgSqlParserTest::testExtractDeleteUsingClauseWithNewlineBeforeWherecallsPgSqlParserTest::testExtractDeleteUsingWithReturningcalls
Called from 1
Calls 2
- static-call SqlTokenStream::tokenize() line 251
- static-call PgSqlLexerProfile::create() line 251
public function extractTruncateTable(string $sql): ?string@visibility public.Extract table name from TRUNCATE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractTruncateTable('TRUNCATE TABLE users, archive') // => 'users'Test cases 9
PgSqlParserTest::testExtractTruncateTablecallsPgSqlParserTest::testExtractTruncateTableLowercasecallsPgSqlParserTest::testExtractTruncateTableNoTableKeywordcallsPgSqlParserTest::testExtractTruncateTableOnlycallsPgSqlParserTest::testExtractTruncateTableOnlyLowercasecallsPgSqlParserTest::testExtractTruncateTableReturnsNullcallsPgSqlParserTest::testExtractTruncateTableReturnsNullNonTruncatecallsPgSqlParserTest::testExtractTruncateTableSchemaQualifiedcallsPgSqlParserTest::testExtractTruncateTableWithCascadecalls
Calls 2
public function extractTruncateTables(string $sql): list<string>@visibility public.Parameters
$sql | string |
Returns
list<string>(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractTruncateTables('TRUNCATE TABLE users, archive') // => ['users', 'archive']Test cases 3
Called from 1
Calls 2
public function extractCreateTableName(string $sql): ?string@visibility public.Extract table name from CREATE TABLE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractCreateTableName('CREATE TABLE IF NOT EXISTS users (id INTEGER)') // => 'users'Test cases 8
PgSqlParserTest::testExtractCreateTableNamecallsPgSqlParserTest::testExtractCreateTableNameIfNotExistscallsPgSqlParserTest::testExtractCreateTableNameLowercasecallsPgSqlParserTest::testExtractCreateTableNameReturnsNullcallsPgSqlParserTest::testExtractCreateTableNameReturnsNullNonCreatecallsPgSqlParserTest::testExtractCreateTableNameSchemaQualifiedcallsPgSqlParserTest::testExtractCreateTableNameTempcallsPgSqlParserTest::testExtractCreateTableNameUnloggedcalls
Called from 1
Calls 2
public function hasIfNotExists(string $sql): bool@visibility public.Check if CREATE TABLE has IF NOT EXISTS.
Parameters
$sql | string |
Returns
bool(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->hasIfNotExists('CREATE TABLE IF NOT EXISTS users (id INTEGER)') // => trueTest cases 3
Called from 1
Calls 2
public function hasCreateTableAsSelect(string $sql): bool@visibility public.Check if CREATE TABLE has AS SELECT.
Parameters
$sql | string |
Returns
bool(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->hasCreateTableAsSelect('CREATE TABLE archive AS SELECT id FROM users') // => trueTest cases 9
PgSqlParserTest::testHasCreateTableAsSelectcallsPgSqlParserTest::testHasCreateTableAsSelectFalsecallsPgSqlParserTest::testHasCreateTableAsSelectIfNotExistscallsPgSqlParserTest::testHasCreateTableAsSelectLowercasecallsPgSqlParserTest::testHasCreateTableAsSelectMultiLinecallsPgSqlParserTest::testHasCreateTableAsSelectNewlineBeforeAscallsPgSqlParserTest::testHasCreateTableAsSelectTempcallsPgSqlParserTest::testHasCreateTableAsSelectTemporarycallsPgSqlParserTest::testHasCreateTableAsSelectUnloggedcalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteMutation() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:126
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:76
Calls 2
public function extractCreateTableSelectSql(string $sql): ?string@visibility public.Extract the SELECT SQL from CREATE TABLE ... AS SELECT.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractCreateTableSelectSql('CREATE TABLE archive AS SELECT id FROM users') // => 'SELECT id FROM users'Test cases 9
PgSqlParserTest::testExtractCreateTableSelectSqlcallsPgSqlParserTest::testExtractCreateTableSelectSqlDollarRemovedMatchesCorrectlycallsPgSqlParserTest::testExtractCreateTableSelectSqlExactTrimmingcallsPgSqlParserTest::testExtractCreateTableSelectSqlLowercasecallsPgSqlParserTest::testExtractCreateTableSelectSqlLowercaseAscallsPgSqlParserTest::testExtractCreateTableSelectSqlMultiLinecallsPgSqlParserTest::testExtractCreateTableSelectSqlNewlineBeforeSelectcallsPgSqlParserTest::testExtractCreateTableSelectSqlReturnsNullcallsPgSqlParserTest::testExtractCreateTableSelectSqlWithDollarAnchorcalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteMutation() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:127
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:77
Calls 2
public function hasCreateTableLike(string $sql): bool@visibility public.Check if CREATE TABLE has LIKE clause.
Parameters
$sql | string |
Returns
bool(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->hasCreateTableLike('CREATE TABLE archive (LIKE users INCLUDING ALL)') // => trueTest cases 10
PgSqlParserTest::testHasCreateTableLikecallsPgSqlParserTest::testHasCreateTableLikeFalsecallsPgSqlParserTest::testHasCreateTableLikeLowercasecallsPgSqlParserTest::testHasCreateTableLikeLowercaseKeywordscallsPgSqlParserTest::testHasCreateTableLikeLowercaseLikecallsPgSqlParserTest::testHasCreateTableLikeMultiLinecallsPgSqlParserTest::testHasCreateTableLikeNewlineBeforeLikecallsPgSqlParserTest::testHasCreateTableLikeTemporarycallsPgSqlParserTest::testHasCreateTableLikeWithNewlineBeforeLikecallsPgSqlParserTest::testHasCreateTableLikeWithNewlineBetweenParenAndLikecalls
Called from 1
Calls 2
public function extractCreateTableLikeSource(string $sql): ?string@visibility public.Extract the LIKE source table name.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractCreateTableLikeSource('CREATE TABLE archive (LIKE users INCLUDING ALL)') // => 'users'Test cases 5
PgSqlParserTest::testExtractCreateTableLikeSourcecallsPgSqlParserTest::testExtractCreateTableLikeSourceLowercasecallsPgSqlParserTest::testExtractCreateTableLikeSourceReturnsNullcallsPgSqlParserTest::testExtractCreateTableLikeSourceReturnsNullNoLikecallsPgSqlParserTest::testExtractCreateTableLikeSourceSchemaQualifiedcalls
Called from 1
Calls 2
public function extractDropTableName(string $sql): ?string@visibility public.Extract table name from DROP TABLE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractDropTableName('DROP TABLE IF EXISTS users') // => 'users'Test cases 7
PgSqlParserTest::testExtractDropTableNamecallsPgSqlParserTest::testExtractDropTableNameIfExistscallsPgSqlParserTest::testExtractDropTableNameLowercasecallsPgSqlParserTest::testExtractDropTableNameQuotedcallsPgSqlParserTest::testExtractDropTableNameReturnsNullcallsPgSqlParserTest::testExtractDropTableNameReturnsNullNonDropcallsPgSqlParserTest::testExtractDropTableNameSchemaQualifiedcalls
Called from 1
Calls 2
public function hasDropTableIfExists(string $sql): bool@visibility public.Check if DROP TABLE has IF EXISTS.
Parameters
$sql | string |
Returns
bool(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->hasDropTableIfExists('DROP TABLE IF EXISTS users') // => trueTest cases 3
Called from 1
Calls 2
public function extractAlterTableName(string $sql): ?string@visibility public.Extract table name from ALTER TABLE statement.
Parameters
$sql | string |
Returns
?string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractAlterTableName('ALTER TABLE users ADD COLUMN name TEXT') // => 'users'Test cases 7
PgSqlParserTest::testExtractAlterTableNamecallsPgSqlParserTest::testExtractAlterTableNameIfExistscallsPgSqlParserTest::testExtractAlterTableNameLowercasecallsPgSqlParserTest::testExtractAlterTableNameOnlycallsPgSqlParserTest::testExtractAlterTableNameReturnsNullcallsPgSqlParserTest::testExtractAlterTableNameReturnsNullNonAltercallsPgSqlParserTest::testExtractAlterTableNameSchemaQualifiedcalls
Called from 1
Calls 2
public function unquoteIdentifier(string $identifier): string@visibility public.Unquote a PostgreSQL identifier (remove double quotes).
Parameters
$identifier | string |
Returns
string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->unquoteIdentifier('"order""items"') // => 'order"items'Test cases 7
PgSqlParserTest::testUnquoteIdentifiercallsPgSqlParserTest::testUnquoteIdentifierEscapedDoubleQuotescallsPgSqlParserTest::testUnquoteIdentifierEscapedQuotescallsPgSqlParserTest::testUnquoteIdentifierNoQuotescallsPgSqlParserTest::testUnquoteIdentifierWithDoubleQuotescallsPgSqlParserTest::testUnquoteIdentifierWithOnlyEndingQuotecallsPgSqlParserTest::testUnquoteIdentifierWithOnlyStartingQuotecalls
Calls 2
- method-call IdentifierDecoder::unquoteIdentifier() line 386
- new IdentifierDecoder line 386
public function stripSchemaPrefix(string $name): string@visibility public.Strip schema prefix from a potentially schema-qualified name. "public"."users" -> "users", public.users -> users
Parameters
$name | string |
Returns
string(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->stripSchemaPrefix('public.users') // => 'users'Test cases 10
PgSqlParserTest::testStripSchemaPrefixcallsPgSqlParserTest::testStripSchemaPrefixNoSchemacallsPgSqlParserTest::testStripSchemaPrefixQuotedcallsPgSqlParserTest::testStripSchemaPrefixQuotedBothcallsPgSqlParserTest::testStripSchemaPrefixQuotedSchemaQuotedTablecallsPgSqlParserTest::testStripSchemaPrefixQuotedWithDollarAnchorcallsPgSqlParserTest::testStripSchemaPrefixUnquotedcallsPgSqlParserTest::testStripSchemaPrefixUnquotedDollarAnchorcallsPgSqlParserTest::testStripSchemaPrefixUnquotedSchemacallsPgSqlParserTest::testStripSchemaPrefixUnquotedWithTrailingDotcalls
Calls 2
- method-call IdentifierDecoder::stripSchemaPrefix() line 398
- new IdentifierDecoder line 398
public function extractSelectTableNames(string $sql): list<string>@visibility public.Extract table names referenced in a SELECT statement.
Parameters
$sql | string |
Returns
list<string>(new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser())->extractSelectTableNames('SELECT u.id FROM users u JOIN orders o ON u.id = o.user_id') // => ['users', 'orders']Test cases 64
PgSqlParserTest::testExtractSelectTableAfterBlockCommentcallsPgSqlParserTest::testExtractSelectTableIgnoresKeywordsInsideLineCommentcallsPgSqlParserTest::testExtractSelectTableNamescallsPgSqlParserTest::testExtractSelectTableNamesCaseInsensitiveJoincallsPgSqlParserTest::testExtractSelectTableNamesCommaInDoubleQuotedIdentifiercallsPgSqlParserTest::testExtractSelectTableNamesCommaJoinedcallsPgSqlParserTest::testExtractSelectTableNamesDeduplicationcallsPgSqlParserTest::testExtractSelectTableNamesEmptyTrimmedPartSkippedcallsPgSqlParserTest::testExtractSelectTableNamesExceptcallsPgSqlParserTest::testExtractSelectTableNamesForUpdatecallsPgSqlParserTest::testExtractSelectTableNamesForUpdateClausecallsPgSqlParserTest::testExtractSelectTableNamesFromClauseStripLeftJoincallsPgSqlParserTest::testExtractSelectTableNamesFromClauseWithInnerJoincallsPgSqlParserTest::testExtractSelectTableNamesFromWithGreaterThanZerocallsPgSqlParserTest::testExtractSelectTableNamesIntersectcallsPgSqlParserTest::testExtractSelectTableNamesLeftJoincallsPgSqlParserTest::testExtractSelectTableNamesLowercasecallsPgSqlParserTest::testExtractSelectTableNamesLowercaseAliascallsPgSqlParserTest::testExtractSelectTableNamesLowercaseAscallsPgSqlParserTest::testExtractSelectTableNamesLowercaseFromcallsPgSqlParserTest::testExtractSelectTableNamesLowercaseJoincallsPgSqlParserTest::testExtractSelectTableNamesLowercaseTableRefcallsPgSqlParserTest::testExtractSelectTableNamesMultiLinecallsPgSqlParserTest::testExtractSelectTableNamesMultipleFromcallsPgSqlParserTest::testExtractSelectTableNamesMultipleFromClausescallsPgSqlParserTest::testExtractSelectTableNamesNewlineSeparatedFromClausecallsPgSqlParserTest::testExtractSelectTableNamesNoFromcallsPgSqlParserTest::testExtractSelectTableNamesQuotedTablecallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedcallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedInFromcallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedUnquotedcallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedUnquotedDotQuotedcallsPgSqlParserTest::testExtractSelectTableNamesSkipsSubquerycallsPgSqlParserTest::testExtractSelectTableNamesSkipsSubqueryInFromcallsPgSqlParserTest::testExtractSelectTableNamesStripsCrossJoinFromClausecallsPgSqlParserTest::testExtractSelectTableNamesStripsNaturalJoinFromClausecallsPgSqlParserTest::testExtractSelectTableNamesSubquerycallsPgSqlParserTest::testExtractSelectTableNamesSubqueryNotIncludedcallsPgSqlParserTest::testExtractSelectTableNamesUnioncallsPgSqlParserTest::testExtractSelectTableNamesUnionMultipleFromClausescallsPgSqlParserTest::testExtractSelectTableNamesWithAliascallsPgSqlParserTest::testExtractSelectTableNamesWithAscallsPgSqlParserTest::testExtractSelectTableNamesWithCrossJoincallsPgSqlParserTest::testExtractSelectTableNamesWithFromClauseContainingLeftJoincallsPgSqlParserTest::testExtractSelectTableNamesWithFullOuterJoincallsPgSqlParserTest::testExtractSelectTableNamesWithGroupBycallsPgSqlParserTest::testExtractSelectTableNamesWithGroupByClausecallsPgSqlParserTest::testExtractSelectTableNamesWithHavingcallsPgSqlParserTest::testExtractSelectTableNamesWithHavingClausecallsPgSqlParserTest::testExtractSelectTableNamesWithInlineJoincallsPgSqlParserTest::testExtractSelectTableNamesWithJoinLowercasecallsPgSqlParserTest::testExtractSelectTableNamesWithLateralJoincallsPgSqlParserTest::testExtractSelectTableNamesWithLeadingWhitespaceInPartcallsPgSqlParserTest::testExtractSelectTableNamesWithLimitcallsPgSqlParserTest::testExtractSelectTableNamesWithLowercaseAscallsPgSqlParserTest::testExtractSelectTableNamesWithMultilineJoincallsPgSqlParserTest::testExtractSelectTableNamesWithNaturalJoincallsPgSqlParserTest::testExtractSelectTableNamesWithOffsetcallsPgSqlParserTest::testExtractSelectTableNamesWithOffsetClausecallsPgSqlParserTest::testExtractSelectTableNamesWithRightJoincallsPgSqlParserTest::testExtractSelectTableNamesWithSubqueryInWherecallsPgSqlParserTest::testExtractTableRefsLowercaseAsKeywordcallsPgSqlParserTest::testIsSqlKeywordBlocksKeywordAsTableNamecallsPgSqlParserTest::testSelectTablesIgnoreFromKeywordInsideExtractcalls
Called from 1
Calls 2
Test cases 934§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 520
PgSqlParserTest::testClassifiesAnonymousDoBlockWithoutSplittingItsBodycallsPgSqlParserTest::testClassifiesMergeWithAndWithoutCtePrefixcallsPgSqlParserTest::testClassifyAlterTablecallsPgSqlParserTest::testClassifyAlterTableLowercasecallsPgSqlParserTest::testClassifyAlterTableWithDropTableInCommentcallsPgSqlParserTest::testClassifyBlockCommentOnlyNoClosecallsPgSqlParserTest::testClassifyCreateTablecallsPgSqlParserTest::testClassifyCreateTableContainingSelectKeywordcallsPgSqlParserTest::testClassifyCreateTableLowercasecallsPgSqlParserTest::testClassifyCreateTableWithTruncateInDefaultcallsPgSqlParserTest::testClassifyCreateTempTablecallsPgSqlParserTest::testClassifyDeletecallsPgSqlParserTest::testClassifyDeleteContainingInsertNotMisclassifiedcallsPgSqlParserTest::testClassifyDeleteContainingUpdateKeywordcallsPgSqlParserTest::testClassifyDeleteLowercasecallsPgSqlParserTest::testClassifyDropTablecallsPgSqlParserTest::testClassifyDropTableLowercasecallsPgSqlParserTest::testClassifyDropTableWithCreateTableInCommentcallsPgSqlParserTest::testClassifyEmptyStringReturnsNullcallsPgSqlParserTest::testClassifyInsertcallsPgSqlParserTest::testClassifyInsertLowercasecallsPgSqlParserTest::testClassifyInsertSelectNotMisclassifiedAsSelectcallsPgSqlParserTest::testClassifyLineCommentNoNewlinecallsPgSqlParserTest::testClassifyReleaseSavepointAsTclcallsPgSqlParserTest::testClassifySavepointAsTclcallsPgSqlParserTest::testClassifySelectcallsPgSqlParserTest::testClassifySelectLowercasecallsPgSqlParserTest::testClassifySelectNotMatchedByWithcallsPgSqlParserTest::testClassifySetTransactionAsTclcallsPgSqlParserTest::testClassifySimpleStatementWithLeadingWhitespacecallsPgSqlParserTest::testClassifySimpleStatementWithLtrimNeededcallsPgSqlParserTest::testClassifyStartTransactionAsTclcallsPgSqlParserTest::testClassifyStatementLeadingLineAndBlockCommentscallsPgSqlParserTest::testClassifyStatementSETTransactionTCLcallsPgSqlParserTest::testClassifyStatementStartTransactioncallsPgSqlParserTest::testClassifyStatementTruncateContainsTclKeywordInBodycallsPgSqlParserTest::testClassifyStatementWithInternalWithKeywordcallsPgSqlParserTest::testClassifyStatementWithTwoLeadingLineCommentscallsPgSqlParserTest::testClassifyTclcallsPgSqlParserTest::testClassifyTclBEGINWithAlterTableCommentcallsPgSqlParserTest::testClassifyTclLowercasecallsPgSqlParserTest::testClassifyTclVariantscallsPgSqlParserTest::testClassifyTclWithAlterTableInCommentcallsPgSqlParserTest::testClassifyTruncatecallsPgSqlParserTest::testClassifyTruncateContainsDeleteInCommentcallsPgSqlParserTest::testClassifyTruncateLowercasecallsPgSqlParserTest::testClassifyTruncateWithDeleteInCommentcallsPgSqlParserTest::testClassifyUnknownReturnsNullcallsPgSqlParserTest::testClassifyUpdatecallsPgSqlParserTest::testClassifyUpdateContainingSelectNotMisclassifiedcallsPgSqlParserTest::testClassifyUpdateLowercasecallsPgSqlParserTest::testClassifyWithBlockCommentcallsPgSqlParserTest::testClassifyWithBlockCommentNoNewlinecallsPgSqlParserTest::testClassifyWithCteAliascallsPgSqlParserTest::testClassifyWithDeletecallsPgSqlParserTest::testClassifyWithDeleteTerminalcallsPgSqlParserTest::testClassifyWithInsertcallsPgSqlParserTest::testClassifyWithLeadingBlockCommentAndLineCommentcallsPgSqlParserTest::testClassifyWithLeadingCommentscallsPgSqlParserTest::testClassifyWithLeadingLineCommentNoNewlinecallsPgSqlParserTest::testClassifyWithLowercasecallsPgSqlParserTest::testClassifyWithMixedCasecallsPgSqlParserTest::testClassifyWithNestedParenscallsPgSqlParserTest::testClassifyWithNoTerminalKeywordcallsPgSqlParserTest::testClassifyWithQuotedIdentifiercallsPgSqlParserTest::testClassifyWithRecursivecallsPgSqlParserTest::testClassifyWithSelectcallsPgSqlParserTest::testClassifyWithSemicoloncallsPgSqlParserTest::testClassifyWithStatementDepthNeverNegativecallsPgSqlParserTest::testClassifyWithStatementQuotedIdentifiercallsPgSqlParserTest::testClassifyWithStatementQuotedIdentifierWithParencallsPgSqlParserTest::testClassifyWithStatementStartAnchorcallsPgSqlParserTest::testClassifyWithUpdatecallsPgSqlParserTest::testClassifyWithUpdateTerminalcallsPgSqlParserTest::testCommentMarkersInsideQuotedValuesRemainDatacallsPgSqlParserTest::testConflictAssignmentsIgnoreNestedWhereAndReturningKeywordscallsPgSqlParserTest::testConflictTargetSkipsNestedAnchorsAndStopsAtTheActionBoundarycallsPgSqlParserTest::testExtractAlterTableNamecallsPgSqlParserTest::testExtractAlterTableNameIfExistscallsPgSqlParserTest::testExtractAlterTableNameLowercasecallsPgSqlParserTest::testExtractAlterTableNameOnlycallsPgSqlParserTest::testExtractAlterTableNameReturnsNullcallsPgSqlParserTest::testExtractAlterTableNameReturnsNullNonAltercallsPgSqlParserTest::testExtractAlterTableNameSchemaQualifiedcallsPgSqlParserTest::testExtractCreateTableLikeSourcecallsPgSqlParserTest::testExtractCreateTableLikeSourceLowercasecallsPgSqlParserTest::testExtractCreateTableLikeSourceReturnsNullcallsPgSqlParserTest::testExtractCreateTableLikeSourceReturnsNullNoLikecallsPgSqlParserTest::testExtractCreateTableLikeSourceSchemaQualifiedcallsPgSqlParserTest::testExtractCreateTableNamecallsPgSqlParserTest::testExtractCreateTableNameIfNotExistscallsPgSqlParserTest::testExtractCreateTableNameLowercasecallsPgSqlParserTest::testExtractCreateTableNameReturnsNullcallsPgSqlParserTest::testExtractCreateTableNameReturnsNullNonCreatecallsPgSqlParserTest::testExtractCreateTableNameSchemaQualifiedcallsPgSqlParserTest::testExtractCreateTableNameTempcallsPgSqlParserTest::testExtractCreateTableNameUnloggedcallsPgSqlParserTest::testExtractCreateTableSelectSqlcallsPgSqlParserTest::testExtractCreateTableSelectSqlDollarRemovedMatchesCorrectlycallsPgSqlParserTest::testExtractCreateTableSelectSqlExactTrimmingcallsPgSqlParserTest::testExtractCreateTableSelectSqlLowercasecallsPgSqlParserTest::testExtractCreateTableSelectSqlLowercaseAscallsPgSqlParserTest::testExtractCreateTableSelectSqlMultiLinecallsPgSqlParserTest::testExtractCreateTableSelectSqlNewlineBeforeSelectcallsPgSqlParserTest::testExtractCreateTableSelectSqlReturnsNullcallsPgSqlParserTest::testExtractCreateTableSelectSqlWithDollarAnchorcallsPgSqlParserTest::testExtractDeleteAliascallsPgSqlParserTest::testExtractDeleteAliasAscallsPgSqlParserTest::testExtractDeleteAliasAtEndOfStatementcallsPgSqlParserTest::testExtractDeleteAliasEndOfStatementcallsPgSqlParserTest::testExtractDeleteAliasLowercasecallsPgSqlParserTest::testExtractDeleteAliasReturningcallsPgSqlParserTest::testExtractDeleteAliasReturnsNullcallsPgSqlParserTest::testExtractDeleteAliasUsingcallsPgSqlParserTest::testExtractDeleteAliasWithReturningcallsPgSqlParserTest::testExtractDeleteAliasWithUsingcallsPgSqlParserTest::testExtractDeleteAliasWithWherecallsPgSqlParserTest::testExtractDeleteTablecallsPgSqlParserTest::testExtractDeleteTableAfterBlockCommentcallsPgSqlParserTest::testExtractDeleteTableLowercasecallsPgSqlParserTest::testExtractDeleteTableLowercaseOnlycallsPgSqlParserTest::testExtractDeleteTableOnlycallsPgSqlParserTest::testExtractDeleteTableOnlyLowercasecallsPgSqlParserTest::testExtractDeleteTableQuotedcallsPgSqlParserTest::testExtractDeleteTableReturnsNullcallsPgSqlParserTest::testExtractDeleteTableReturnsNullOnNonDeletecallsPgSqlParserTest::testExtractDeleteTableSchemaQualifiedcallsPgSqlParserTest::testExtractDeleteUsingClausecallsPgSqlParserTest::testExtractDeleteUsingClauseExactTrimmingcallsPgSqlParserTest::testExtractDeleteUsingClauseLowercasecallsPgSqlParserTest::testExtractDeleteUsingClauseLowercaseUsingcallsPgSqlParserTest::testExtractDeleteUsingClauseLowercaseUsingAndWherecallsPgSqlParserTest::testExtractDeleteUsingClauseMultiLinecallsPgSqlParserTest::testExtractDeleteUsingClauseNewlineAfterUsingcallsPgSqlParserTest::testExtractDeleteUsingClauseNewlineBeforeReturningcallsPgSqlParserTest::testExtractDeleteUsingClauseNewlineBeforeWherecallsPgSqlParserTest::testExtractDeleteUsingClauseReturnsNullcallsPgSqlParserTest::testExtractDeleteUsingClauseReturnsTrimmedResultcallsPgSqlParserTest::testExtractDeleteUsingClauseTrimmedcallsPgSqlParserTest::testExtractDeleteUsingClauseTrimmedOutputcallsPgSqlParserTest::testExtractDeleteUsingClauseWithNewlineBeforeWherecallsPgSqlParserTest::testExtractDeleteUsingWithReturningcallsPgSqlParserTest::testExtractDropTableNamecallsPgSqlParserTest::testExtractDropTableNameIfExistscallsPgSqlParserTest::testExtractDropTableNameLowercasecallsPgSqlParserTest::testExtractDropTableNameQuotedcallsPgSqlParserTest::testExtractDropTableNameReturnsNullcallsPgSqlParserTest::testExtractDropTableNameReturnsNullNonDropcallsPgSqlParserTest::testExtractDropTableNameSchemaQualifiedcallsPgSqlParserTest::testExtractInsertColumnscallsPgSqlParserTest::testExtractInsertColumnsEmptycallsPgSqlParserTest::testExtractInsertColumnsFromMultilineInsertcallsPgSqlParserTest::testExtractInsertColumnsLowercasecallsPgSqlParserTest::testExtractInsertColumnsNoParenscallsPgSqlParserTest::testExtractInsertColumnsQuotedcallsPgSqlParserTest::testExtractInsertColumnsWithDefaultcallsPgSqlParserTest::testExtractInsertColumnsWithSelectcallsPgSqlParserTest::testExtractInsertColumnsWithSelectKeywordcallsPgSqlParserTest::testExtractInsertSelectSqlcallsPgSqlParserTest::testExtractInsertSelectSqlExactcallsPgSqlParserTest::testExtractInsertSelectSqlLowercasecallsPgSqlParserTest::testExtractInsertSelectSqlReturnsNullcallsPgSqlParserTest::testExtractInsertSelectSqlReturnsNullNoSelectcallsPgSqlParserTest::testExtractInsertTablecallsPgSqlParserTest::testExtractInsertTableAfterBlockCommentcallsPgSqlParserTest::testExtractInsertTableLowercasecallsPgSqlParserTest::testExtractInsertTableOnlycallsPgSqlParserTest::testExtractInsertTableOnlyLowercasecallsPgSqlParserTest::testExtractInsertTableQuotedcallsPgSqlParserTest::testExtractInsertTableQuotedSchemaQualifiedcallsPgSqlParserTest::testExtractInsertTableReturnsNullOnEmptycallsPgSqlParserTest::testExtractInsertTableReturnsNullOnInvalidcallsPgSqlParserTest::testExtractInsertTableSchemaQualifiedcallsPgSqlParserTest::testExtractInsertTableWithAliascallsPgSqlParserTest::testExtractInsertTableWithAsAliascallsPgSqlParserTest::testExtractInsertTableWithSchemaLowercasecallsPgSqlParserTest::testExtractInsertValuesCommaInsideDoubleQuotedDefaultcallsPgSqlParserTest::testExtractInsertValuesCommaInsideSingleQuotecallsPgSqlParserTest::testExtractInsertValuesEmptycallsPgSqlParserTest::testExtractInsertValuesEscapedQuoteMiddlecallsPgSqlParserTest::testExtractInsertValuesExactMultiplecallsPgSqlParserTest::testExtractInsertValuesKeepsArrayConstructorTogethercallsPgSqlParserTest::testExtractInsertValuesLowercasecallsPgSqlParserTest::testExtractInsertValuesMultiLinecallsPgSqlParserTest::testExtractInsertValuesMultilineInsideParenscallsPgSqlParserTest::testExtractInsertValuesMultiplecallsPgSqlParserTest::testExtractInsertValuesMultipleRowscallsPgSqlParserTest::testExtractInsertValuesMultipleRowsWithSpacescallsPgSqlParserTest::testExtractInsertValuesNewlineInsideParenscallsPgSqlParserTest::testExtractInsertValuesNoValuescallsPgSqlParserTest::testExtractInsertValuesSinglecallsPgSqlParserTest::testExtractInsertValuesWithEscapedQuotecallsPgSqlParserTest::testExtractInsertValuesWithEscapedSingleQuoteInValuecallsPgSqlParserTest::testExtractInsertValuesWithLeadingWhitespacecallsPgSqlParserTest::testExtractInsertValuesWithNewlineAfterValuescallsPgSqlParserTest::testExtractInsertValuesWithNewlineInStringValuecallsPgSqlParserTest::testExtractInsertValuesWithSubquerycallsPgSqlParserTest::testExtractInsertValuesWithWhitespacecallsPgSqlParserTest::testExtractOnConflictAssignmentMultiLinecallsPgSqlParserTest::testExtractOnConflictColumnsAssignmentWithPaddedEqualscallsPgSqlParserTest::testExtractOnConflictColumnsCommaInDoubleQuotedColcallsPgSqlParserTest::testExtractOnConflictColumnsLowercaseAscallsPgSqlParserTest::testExtractOnConflictColumnsMultilineAssignmentcallsPgSqlParserTest::testExtractOnConflictColumnsMultilineSetWithWhereFiltercallsPgSqlParserTest::testExtractOnConflictColumnsValueWithNewlinecallsPgSqlParserTest::testExtractOnConflictColumnsWithLowercaseDoUpdateSetcallsPgSqlParserTest::testExtractOnConflictColumnTrimmedcallsPgSqlParserTest::testExtractOnConflictDoNothingcallsPgSqlParserTest::testExtractOnConflictDoNothingReturnsEmptyColumnscallsPgSqlParserTest::testExtractOnConflictLowercasecallsPgSqlParserTest::testExtractOnConflictNewlineInsideSetClausecallsPgSqlParserTest::testExtractOnConflictQuotedColumncallsPgSqlParserTest::testExtractOnConflictRejectsNonUpdateActionContainingSetcallsPgSqlParserTest::testExtractOnConflictSetMultipleColumnsExactcallsPgSqlParserTest::testExtractOnConflictSetWithQuotedColumnsLowercasecallsPgSqlParserTest::testExtractOnConflictStopsBeforeReturningWithoutWherecallsPgSqlParserTest::testExtractOnConflictTargetExtractsPartialConflictTargetStructurallycallsPgSqlParserTest::testExtractOnConflictUpdateColumnscallsPgSqlParserTest::testExtractOnConflictUpdateColumnsAssignmentPregDollarcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsCommaInValuecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsLowercasecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsMultiLinecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsMultilineAssignmentcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsMultiplecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsNoConflictcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsValueTrimmedcallsPgSqlParserTest::testExtractOnConflictUpdateColumnsWithLeadingWhitespacecallsPgSqlParserTest::testExtractOnConflictUpdateColumnsWithWherecallsPgSqlParserTest::testExtractOnConflictUpdateWhereExtractsOnConflictUpdateWhereAfterInsertSelectWherecallsPgSqlParserTest::testExtractOnConflictWhereClauseRemovedcallsPgSqlParserTest::testExtractOnConflictWithQuotedColumnInSetcallsPgSqlParserTest::testExtractOnConflictWithTrailingSemicoloncallsPgSqlParserTest::testExtractOnConflictWithTrailingWhitespacecallsPgSqlParserTest::testExtractOnConflictWithWhereClausecallsPgSqlParserTest::testExtractSelectTableAfterBlockCommentcallsPgSqlParserTest::testExtractSelectTableIgnoresKeywordsInsideLineCommentcallsPgSqlParserTest::testExtractSelectTableNamescallsPgSqlParserTest::testExtractSelectTableNamesCaseInsensitiveJoincallsPgSqlParserTest::testExtractSelectTableNamesCommaInDoubleQuotedIdentifiercallsPgSqlParserTest::testExtractSelectTableNamesCommaJoinedcallsPgSqlParserTest::testExtractSelectTableNamesDeduplicationcallsPgSqlParserTest::testExtractSelectTableNamesEmptyTrimmedPartSkippedcallsPgSqlParserTest::testExtractSelectTableNamesExceptcallsPgSqlParserTest::testExtractSelectTableNamesForUpdatecallsPgSqlParserTest::testExtractSelectTableNamesForUpdateClausecallsPgSqlParserTest::testExtractSelectTableNamesFromClauseStripLeftJoincallsPgSqlParserTest::testExtractSelectTableNamesFromClauseWithInnerJoincallsPgSqlParserTest::testExtractSelectTableNamesFromWithGreaterThanZerocallsPgSqlParserTest::testExtractSelectTableNamesIntersectcallsPgSqlParserTest::testExtractSelectTableNamesLeftJoincallsPgSqlParserTest::testExtractSelectTableNamesLowercasecallsPgSqlParserTest::testExtractSelectTableNamesLowercaseAliascallsPgSqlParserTest::testExtractSelectTableNamesLowercaseAscallsPgSqlParserTest::testExtractSelectTableNamesLowercaseFromcallsPgSqlParserTest::testExtractSelectTableNamesLowercaseJoincallsPgSqlParserTest::testExtractSelectTableNamesLowercaseTableRefcallsPgSqlParserTest::testExtractSelectTableNamesMultiLinecallsPgSqlParserTest::testExtractSelectTableNamesMultipleFromcallsPgSqlParserTest::testExtractSelectTableNamesMultipleFromClausescallsPgSqlParserTest::testExtractSelectTableNamesNewlineSeparatedFromClausecallsPgSqlParserTest::testExtractSelectTableNamesNoFromcallsPgSqlParserTest::testExtractSelectTableNamesQuotedTablecallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedcallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedInFromcallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedUnquotedcallsPgSqlParserTest::testExtractSelectTableNamesSchemaQualifiedUnquotedDotQuotedcallsPgSqlParserTest::testExtractSelectTableNamesSkipsSubquerycallsPgSqlParserTest::testExtractSelectTableNamesSkipsSubqueryInFromcallsPgSqlParserTest::testExtractSelectTableNamesStripsCrossJoinFromClausecallsPgSqlParserTest::testExtractSelectTableNamesStripsNaturalJoinFromClausecallsPgSqlParserTest::testExtractSelectTableNamesSubquerycallsPgSqlParserTest::testExtractSelectTableNamesSubqueryNotIncludedcallsPgSqlParserTest::testExtractSelectTableNamesUnioncallsPgSqlParserTest::testExtractSelectTableNamesUnionMultipleFromClausescallsPgSqlParserTest::testExtractSelectTableNamesWithAliascallsPgSqlParserTest::testExtractSelectTableNamesWithAscallsPgSqlParserTest::testExtractSelectTableNamesWithCrossJoincallsPgSqlParserTest::testExtractSelectTableNamesWithFromClauseContainingLeftJoincallsPgSqlParserTest::testExtractSelectTableNamesWithFullOuterJoincallsPgSqlParserTest::testExtractSelectTableNamesWithGroupBycallsPgSqlParserTest::testExtractSelectTableNamesWithGroupByClausecallsPgSqlParserTest::testExtractSelectTableNamesWithHavingcallsPgSqlParserTest::testExtractSelectTableNamesWithHavingClausecallsPgSqlParserTest::testExtractSelectTableNamesWithInlineJoincallsPgSqlParserTest::testExtractSelectTableNamesWithJoinLowercasecallsPgSqlParserTest::testExtractSelectTableNamesWithLateralJoincallsPgSqlParserTest::testExtractSelectTableNamesWithLeadingWhitespaceInPartcallsPgSqlParserTest::testExtractSelectTableNamesWithLimitcallsPgSqlParserTest::testExtractSelectTableNamesWithLowercaseAscallsPgSqlParserTest::testExtractSelectTableNamesWithMultilineJoincallsPgSqlParserTest::testExtractSelectTableNamesWithNaturalJoincallsPgSqlParserTest::testExtractSelectTableNamesWithOffsetcallsPgSqlParserTest::testExtractSelectTableNamesWithOffsetClausecallsPgSqlParserTest::testExtractSelectTableNamesWithRightJoincallsPgSqlParserTest::testExtractSelectTableNamesWithSubqueryInWherecallsPgSqlParserTest::testExtractsNamedAndUnspecifiedConflictTargetscallsPgSqlParserTest::testExtractTableRefsLowercaseAsKeywordcallsPgSqlParserTest::testExtractTruncateTablecallsPgSqlParserTest::testExtractTruncateTableLowercasecallsPgSqlParserTest::testExtractTruncateTableNoTableKeywordcallsPgSqlParserTest::testExtractTruncateTableOnlycallsPgSqlParserTest::testExtractTruncateTableOnlyLowercasecallsPgSqlParserTest::testExtractTruncateTableReturnsNullcallsPgSqlParserTest::testExtractTruncateTableReturnsNullNonTruncatecallsPgSqlParserTest::testExtractTruncateTableSchemaQualifiedcallsPgSqlParserTest::testExtractTruncateTablesPreservesEveryTargetcallsPgSqlParserTest::testExtractTruncateTablesRejectsNonTruncateAndIncompleteTargetscallsPgSqlParserTest::testExtractTruncateTablesSupportsUnicodeQuotedIdentifierscallsPgSqlParserTest::testExtractTruncateTableWithCascadecallsPgSqlParserTest::testExtractUpdateAliascallsPgSqlParserTest::testExtractUpdateAliasAscallsPgSqlParserTest::testExtractUpdateAliasLowercasecallsPgSqlParserTest::testExtractUpdateAliasReturnsNullcallsPgSqlParserTest::testExtractUpdateAliasReturnsNullNoAliascallsPgSqlParserTest::testExtractUpdateAliasWithoutAscallsPgSqlParserTest::testExtractUpdateFromClausecallsPgSqlParserTest::testExtractUpdateFromClauseExactTrimmingcallsPgSqlParserTest::testExtractUpdateFromClauseLowercasecallsPgSqlParserTest::testExtractUpdateFromClauseLowercaseFromAndSetcallsPgSqlParserTest::testExtractUpdateFromClauseMultiLinecallsPgSqlParserTest::testExtractUpdateFromClauseMultilineFromcallsPgSqlParserTest::testExtractUpdateFromClauseNewlineAfterFromcallsPgSqlParserTest::testExtractUpdateFromClauseNewlineBeforeReturningcallsPgSqlParserTest::testExtractUpdateFromClauseNewlineBeforeWherecallsPgSqlParserTest::testExtractUpdateFromClauseReturnsNullcallsPgSqlParserTest::testExtractUpdateFromClauseReturnsTrimmedResultcallsPgSqlParserTest::testExtractUpdateFromClauseTrimmedcallsPgSqlParserTest::testExtractUpdateFromClauseTrimmedResultcallsPgSqlParserTest::testExtractUpdateFromClauseWithMultipleTablescallsPgSqlParserTest::testExtractUpdateFromClauseWithReturningcallsPgSqlParserTest::testExtractUpdateSetscallsPgSqlParserTest::testExtractUpdateSetsAssignmentValueTrimmedcallsPgSqlParserTest::testExtractUpdateSetsAssignmentWithNewlineInValuecallsPgSqlParserTest::testExtractUpdateSetsCommaInSingleQuotedValuecallsPgSqlParserTest::testExtractUpdateSetsEmptycallsPgSqlParserTest::testExtractUpdateSetsEmptySetClausecallsPgSqlParserTest::testExtractUpdateSetsLowercasecallsPgSqlParserTest::testExtractUpdateSetsLowercaseKeywordscallsPgSqlParserTest::testExtractUpdateSetsLowercaseReturningcallsPgSqlParserTest::testExtractUpdateSetsMultiLinecallsPgSqlParserTest::testExtractUpdateSetsMultilineAssignmentcallsPgSqlParserTest::testExtractUpdateSetsMultiLineFromClausecallsPgSqlParserTest::testExtractUpdateSetsMultilineSetToFromcallsPgSqlParserTest::testExtractUpdateSetsMultipleColumnscallsPgSqlParserTest::testExtractUpdateSetsNewlineInAssignmentcallsPgSqlParserTest::testExtractUpdateSetsNewlineInValuecallsPgSqlParserTest::testExtractUpdateSetsOnlySetColumnscallsPgSqlParserTest::testExtractUpdateSetsPregDollarAnchorcallsPgSqlParserTest::testExtractUpdateSetsQuotedColumncallsPgSqlParserTest::testExtractUpdateSetsReturningcallsPgSqlParserTest::testExtractUpdateSetsReturningSensitivecallsPgSqlParserTest::testExtractUpdateSetsValueWithTrailingNewlinecallsPgSqlParserTest::testExtractUpdateSetsWithFromcallsPgSqlParserTest::testExtractUpdateSetsWithLeadingWhitespacecallsPgSqlParserTest::testExtractUpdateSetsWithNewlineInSetClausecallsPgSqlParserTest::testExtractUpdateSetsWithNewlineInValuecallsPgSqlParserTest::testExtractUpdateSetsWithPaddedAssignmentcallsPgSqlParserTest::testExtractUpdateSetsWithSingleQuoteInValuecallsPgSqlParserTest::testExtractUpdateSetsWithSubquerycallsPgSqlParserTest::testExtractUpdateSetsWithSubqueryInValuecallsPgSqlParserTest::testExtractUpdateTablecallsPgSqlParserTest::testExtractUpdateTableAfterNestedBlockCommentcallsPgSqlParserTest::testExtractUpdateTableLowercasecallsPgSqlParserTest::testExtractUpdateTableLowercaseOnlycallsPgSqlParserTest::testExtractUpdateTableOnlycallsPgSqlParserTest::testExtractUpdateTableOnlyLowercasecallsPgSqlParserTest::testExtractUpdateTableQuotedcallsPgSqlParserTest::testExtractUpdateTableReturnsNullcallsPgSqlParserTest::testExtractUpdateTableSchemaQualifiedcallsPgSqlParserTest::testExtractWhereClausecallsPgSqlParserTest::testExtractWhereClauseAfterDollarQuotedStringcallsPgSqlParserTest::testExtractWhereClauseAfterDoubledQuoteStringcallsPgSqlParserTest::testExtractWhereClauseAfterEscapeStringcallsPgSqlParserTest::testExtractWhereClauseAfterTaggedDollarQuotedStringcallsPgSqlParserTest::testExtractWhereClauseExactFromUpdatecallsPgSqlParserTest::testExtractWhereClauseExactTrimmingcallsPgSqlParserTest::testExtractWhereClauseFromDeleteWithUsingcallsPgSqlParserTest::testExtractWhereClauseFromMultilineUpdatecallsPgSqlParserTest::testExtractWhereClauseFromUpdateWithFromcallsPgSqlParserTest::testExtractWhereClauseLowercasecallsPgSqlParserTest::testExtractWhereClauseLowercaseLimitcallsPgSqlParserTest::testExtractWhereClauseLowercaseOrderBycallsPgSqlParserTest::testExtractWhereClauseLowercaseReturningcallsPgSqlParserTest::testExtractWhereClauseLowercaseWherecallsPgSqlParserTest::testExtractWhereClauseMultiLinecallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeLimitcallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeOrderBycallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeReturningcallsPgSqlParserTest::testExtractWhereClauseNewlineBeforeReturningKeywordcallsPgSqlParserTest::testExtractWhereClauseReturnsNullcallsPgSqlParserTest::testExtractWhereClauseReturnsTrimmedResultcallsPgSqlParserTest::testExtractWhereClauseTrimmedcallsPgSqlParserTest::testExtractWhereClauseWithLimitcallsPgSqlParserTest::testExtractWhereClauseWithMultilineLimitcallsPgSqlParserTest::testExtractWhereClauseWithMultilineOrderBycallsPgSqlParserTest::testExtractWhereClauseWithMultilineReturningcallsPgSqlParserTest::testExtractWhereClauseWithNewlineBeforeReturningcallsPgSqlParserTest::testExtractWhereClauseWithOrderBycallsPgSqlParserTest::testExtractWhereClauseWithOrderByMultiWordcallsPgSqlParserTest::testExtractWhereClauseWithReturningcallsPgSqlParserTest::testExtractWhereClauseWithStringLiteralcallsPgSqlParserTest::testExtractWhereClauseWithStringLiteralContainingWherecallsPgSqlParserTest::testHasCreateTableAsSelectcallsPgSqlParserTest::testHasCreateTableAsSelectFalsecallsPgSqlParserTest::testHasCreateTableAsSelectIfNotExistscallsPgSqlParserTest::testHasCreateTableAsSelectLowercasecallsPgSqlParserTest::testHasCreateTableAsSelectMultiLinecallsPgSqlParserTest::testHasCreateTableAsSelectNewlineBeforeAscallsPgSqlParserTest::testHasCreateTableAsSelectTempcallsPgSqlParserTest::testHasCreateTableAsSelectTemporarycallsPgSqlParserTest::testHasCreateTableAsSelectUnloggedcallsPgSqlParserTest::testHasCreateTableLikecallsPgSqlParserTest::testHasCreateTableLikeFalsecallsPgSqlParserTest::testHasCreateTableLikeLowercasecallsPgSqlParserTest::testHasCreateTableLikeLowercaseKeywordscallsPgSqlParserTest::testHasCreateTableLikeLowercaseLikecallsPgSqlParserTest::testHasCreateTableLikeMultiLinecallsPgSqlParserTest::testHasCreateTableLikeNewlineBeforeLikecallsPgSqlParserTest::testHasCreateTableLikeTemporarycallsPgSqlParserTest::testHasCreateTableLikeWithNewlineBeforeLikecallsPgSqlParserTest::testHasCreateTableLikeWithNewlineBetweenParenAndLikecallsPgSqlParserTest::testHasDropTableIfExistscallsPgSqlParserTest::testHasDropTableIfExistsFalsecallsPgSqlParserTest::testHasDropTableIfExistsLowercasecallsPgSqlParserTest::testHasIfNotExistscallsPgSqlParserTest::testHasIfNotExistsFalsecallsPgSqlParserTest::testHasIfNotExistsLowercasecallsPgSqlParserTest::testHasInsertSelectcallsPgSqlParserTest::testHasInsertSelectCaseInsensitivecallsPgSqlParserTest::testHasInsertSelectFalseForInsertValuescallsPgSqlParserTest::testHasInsertSelectLowercasecallsPgSqlParserTest::testHasInsertSelectLowercaseKeywordscallsPgSqlParserTest::testHasInsertSelectLowercaseValuescallsPgSqlParserTest::testHasInsertSelectMultiLinecallsPgSqlParserTest::testHasInsertSelectNewlineBeforeSelectcallsPgSqlParserTest::testHasInsertSelectWithColumnsBeforeSelectcallsPgSqlParserTest::testHasInsertSelectWithLowercaseValuescallsPgSqlParserTest::testHasInsertSelectWithNewlineBeforeSelectcallsPgSqlParserTest::testHasInsertSelectWithSubqueryInValuescallsPgSqlParserTest::testHasInsertSelectWithValueLookingLikeSelectcallsPgSqlParserTest::testHasInsertSelectWithValuesFalsecallsPgSqlParserTest::testHasInsertSelectWithValuesReturnsFalsecallsPgSqlParserTest::testHasOnConflictcallsPgSqlParserTest::testHasOnConflictDoNothingLowercasecallsPgSqlParserTest::testHasOnConflictFalsecallsPgSqlParserTest::testHasOnConflictFalseForPlainInsertcallsPgSqlParserTest::testHasOnConflictLowercasecallsPgSqlParserTest::testInsertSelectSourceStartsAfterQuotedKeywordIdentifierscallsPgSqlParserTest::testInsertSourceDoesNotUnderflowParenthesisDepthcallsPgSqlParserTest::testInsertSourceHandlesQuotedIdentifierBoundariescallsPgSqlParserTest::testInsertSourceIgnoresNestedKeywordBeforeValuescallsPgSqlParserTest::testInsertSourceRequiresInsertStatementcallsPgSqlParserTest::testInsertValuesDoesNotUnderflowArrayBracketDepthcallsPgSqlParserTest::testInsertValuesSourceIgnoresQuotedKeywordIdentifierscallsPgSqlParserTest::testIsSqlKeywordBlocksKeywordAsTableNamecallsPgSqlParserTest::testMapStrippedOffsetWhenLengthsMatchcallsPgSqlParserTest::testMapStrippedOffsetWithStringLiteralcallsPgSqlParserTest::testRejectsMalformedConflictTargetscallsPgSqlParserTest::testRequiresCompleteDoUpdateSetAnchorcallsPgSqlParserTest::testReturnRemovalFromMapStrippedOffsetToOriginalcallsPgSqlParserTest::testReturnsNullWithoutOnConflictUpdateWherecallsPgSqlParserTest::testSelectTablesIgnoreFromKeywordInsideExtractcallsPgSqlParserTest::testSplitBlockCommentcallsPgSqlParserTest::testSplitByTopLevelCommaDoubleQuotedStringWithCommacallsPgSqlParserTest::testSplitByTopLevelCommaTrimsLastItemcallsPgSqlParserTest::testSplitByTopLevelCommaTrimsResultscallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithDoubleQuotedCommacallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithEscapedQuotecallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithQuotedColumncallsPgSqlParserTest::testSplitByTopLevelCommaViaSetsWithSingleQuotedCommacallsPgSqlParserTest::testSplitByTopLevelCommaViaUpdateSetsWithParenthesescallsPgSqlParserTest::testSplitDollarQuoteAlphanumTagcallsPgSqlParserTest::testSplitDollarQuoteEmptycallsPgSqlParserTest::testSplitDollarQuoteWithTagcallsPgSqlParserTest::testSplitDoubleQuotedIdentifiercallsPgSqlParserTest::testSplitEmptyInputcallsPgSqlParserTest::testSplitEscapedDoubleQuotecallsPgSqlParserTest::testSplitEscapedSingleQuotecallsPgSqlParserTest::testSplitHandlesDollarQuotingcallsPgSqlParserTest::testSplitHandlesStringLiteralscallsPgSqlParserTest::testSplitLineCommentcallsPgSqlParserTest::testSplitLineCommentAtEndcallsPgSqlParserTest::testSplitMultipleExactContentcallsPgSqlParserTest::testSplitMultipleStatementscallsPgSqlParserTest::testSplitSingleStatementcallsPgSqlParserTest::testSplitStatementsAsteriskNotTreatedAsBlockCommentcallsPgSqlParserTest::testSplitStatementsDivisionNotTreatedAsBlockCommentcallsPgSqlParserTest::testSplitStatementsExactOutputcallsPgSqlParserTest::testSplitStatementsNewlineInDollarQuotecallsPgSqlParserTest::testSplitStatementsNewlineInSingleQuotecallsPgSqlParserTest::testSplitStatementsPreservesContentcallsPgSqlParserTest::testSplitStatementsPreservesEscapedBackslashcallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideBlockCommentcallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideDollarQuotecallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideDoubleQuotecallsPgSqlParserTest::testSplitStatementsPreservesSemicolonInsideSingleQuotecallsPgSqlParserTest::testSplitStatementsSemicolonInsideLineCommentcallsPgSqlParserTest::testSplitStatementsSubtractionNotTreatedAsCommentcallsPgSqlParserTest::testSplitTrailingSemicoloncallsPgSqlParserTest::testSplitWhitespaceOnlycallsPgSqlParserTest::testStripLeadingBlockCommentOnlycallsPgSqlParserTest::testStripLeadingMixedCommentscallsPgSqlParserTest::testStripSchemaPrefixcallsPgSqlParserTest::testStripSchemaPrefixNoSchemacallsPgSqlParserTest::testStripSchemaPrefixQuotedcallsPgSqlParserTest::testStripSchemaPrefixQuotedBothcallsPgSqlParserTest::testStripSchemaPrefixQuotedSchemaQuotedTablecallsPgSqlParserTest::testStripSchemaPrefixQuotedWithDollarAnchorcallsPgSqlParserTest::testStripSchemaPrefixUnquotedcallsPgSqlParserTest::testStripSchemaPrefixUnquotedDollarAnchorcallsPgSqlParserTest::testStripSchemaPrefixUnquotedSchemacallsPgSqlParserTest::testStripSchemaPrefixUnquotedWithTrailingDotcallsPgSqlParserTest::testUnquoteIdentifiercallsPgSqlParserTest::testUnquoteIdentifierEscapedDoubleQuotescallsPgSqlParserTest::testUnquoteIdentifierEscapedQuotescallsPgSqlParserTest::testUnquoteIdentifierNoQuotescallsPgSqlParserTest::testUnquoteIdentifierWithDoubleQuotescallsPgSqlParserTest::testUnquoteIdentifierWithOnlyEndingQuotecallsPgSqlParserTest::testUnquoteIdentifierWithOnlyStartingQuotecallsPgSqlParserTest::testUpdateClausesIgnoreKeywordsInsideExpressionsAndSubqueriescalls
Other tests reaching this symbol 414
ParserBench::benchClassifySelectcallsParserBench::benchSplitInsertcallsParserBench::setUpcallsRewriterBench::setUpcallsClassifyFuzzTest::setUpcallsFullPipelineFuzzTest::testCreateTableRewriteRegistersThenDmlSucceedscallsFullPipelineFuzzTest::testCreateTableThenDeleteDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenInsertDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenSelectDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenUpdateDoesNotCrashcallsFullPipelineFuzzTest::testShadowStoreIntegrityAfterMultipleOperationscallsRewriteCheck::verifycallsRewriteFuzzTest::setUpcallsPgSqlSessionFactoryTestcallsTableContextTest::testApplyPartitionsUsesSharedParentRowscallsTableContextTest::testBuildTableContextIncludesShadowTablesAndViewscallsTableContextTest::testDataContextInfersTheUnionOfUnknownRowColumnscallsTableContextTest::testFillDefinitionsRetainsExistingRowsAndAddsUnmaterializedTablescallsTableContextTest::testHasSchemaContextTracksMutableRegistryStatecallsTableContextTest::testTableExistsIncludesRegisteredMaterializedAndViewNamescallsPgSqlQueryGuardTest::testAlterTableClassifiesAsDdlSimulatedcallsPgSqlQueryGuardTest::testBeginClassifiesAsSkippedcallsPgSqlQueryGuardTest::testClassifiesSafeExplainAndRejectsExecutingWritecallsPgSqlQueryGuardTest::testClassifyAlterTableLowercaseIsDdlcallsPgSqlQueryGuardTest::testClassifyDropTableLowercaseIsDdlcallsPgSqlQueryGuardTest::testClassifySelectLowercaseIsReadcallsPgSqlQueryGuardTest::testClassifySetTransactionIsSkippedcallsPgSqlQueryGuardTest::testClassifyStartTransactionIsSkippedcallsPgSqlQueryGuardTest::testClassifyTruncateLowercaseIsWritecallsPgSqlQueryGuardTest::testClassifyWithDeleteIsWritecallsPgSqlQueryGuardTest::testClassifyWithSelectIsReadcallsPgSqlQueryGuardTest::testCommitClassifiesAsSkippedcallsPgSqlQueryGuardTest::testCreateTableClassifiesAsDdlSimulatedcallsPgSqlQueryGuardTest::testCreateTemporaryTableClassifiesAsDdlSimulatedcallsPgSqlQueryGuardTest::testDeleteClassifiesAsWriteSimulatedcallsPgSqlQueryGuardTest::testDoBlockClassifiesAsPassthroughReadcallsPgSqlQueryGuardTest::testDropTableClassifiesAsDdlSimulatedcallsPgSqlQueryGuardTest::testDropTableIfExistsClassifiesAsDdlSimulatedcallsPgSqlQueryGuardTest::testEmptyStringReturnsNullcallsPgSqlQueryGuardTest::testGarbageInputReturnsNullcallsPgSqlQueryGuardTest::testGarbageReturnsNullcallsPgSqlQueryGuardTest::testInsertClassifiesAsWriteSimulatedcallsPgSqlQueryGuardTest::testMergeClassifiesAsWriteSimulatedcallsPgSqlQueryGuardTest::testNullReturnFromClassifyIsDistinctFromSkippedcallsPgSqlQueryGuardTest::testReleaseSavepointClassifiesAsSkippedcallsPgSqlQueryGuardTest::testRollbackClassifiesAsSkippedcallsPgSqlQueryGuardTest::testSavepointClassifiesAsSkippedcallsPgSqlQueryGuardTest::testSelectClassifiesAsReadcallsPgSqlQueryGuardTest::testSetCommandReturnsNullcallsPgSqlQueryGuardTest::testShowCommandClassifiesAsReadcallsPgSqlQueryGuardTest::testTruncateClassifiesAsWriteSimulatedcallsPgSqlQueryGuardTest::testUnsupportedReturnsNullcallsPgSqlQueryGuardTest::testUpdateClassifiesAsWriteSimulatedcallsPgSqlQueryGuardTest::testWithInsertClassifiesAsWriteSimulatedcallsPgSqlQueryGuardTest::testWithSelectClassifiesAsReadcallsPgSqlRewriterTest::testAlterTableThrowsUnsupportedcallsPgSqlRewriterTest::testBuildTableContextMergesRegistryAndShadowcallsPgSqlRewriterTest::testBuildTableContextRegistryAndShadowBothIncludedcallsPgSqlRewriterTest::testBuildTableContextRegistryOnlyNoShadowcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDerivesDifferentColumnsAcrossRowscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeyscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeysDetailedcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithEmptyRowsNoCtecallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithRowsDeriveColumnscallsPgSqlRewriterTest::testChildPartitionSelectUsesFilteredParentShadowSourcecallsPgSqlRewriterTest::testChildPartitionWriteMutationTargetsRootParentcallsPgSqlRewriterTest::testCommitIsSkippedcallsPgSqlRewriterTest::testCommitRewriteStateRetainsAllocatedSequenceValuescallsPgSqlRewriterTest::testCreateTableAsSelectNoShadowReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableAsSelectReturnsDdlWithTransformedSqlcallsPgSqlRewriterTest::testCreateTableAsSelectTransformsSelectPartcallsPgSqlRewriterTest::testCreateTableAsSelectWithRegisteredSourceTablecallsPgSqlRewriterTest::testCreateTableNotAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testCreateTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testCreateTableWithoutAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsPgSqlRewriterTest::testDefaultPartitionExcludesOnlySpecificSiblingsOfSameParentcallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetIsCalledForDeletecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testDeleteMutationTableNamecallsPgSqlRewriterTest::testDeleteResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testDeleteSqlIsTransformedcallsPgSqlRewriterTest::testDoBlockPassesThroughWithoutInspectingBodyTablescallsPgSqlRewriterTest::testDropTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testDropTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testDropTableThenCreateDoesNotThrowcallsPgSqlRewriterTest::testEmptyInputThrowsExceptioncallsPgSqlRewriterTest::testEmptyResultSelectProducesNoRowscallsPgSqlRewriterTest::testExplainPassesThroughUnchangedcallsPgSqlRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsPgSqlRewriterTest::testInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testInsertMutationTableNamecallsPgSqlRewriterTest::testInsertResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testInsertResultSelectContainsColumnNamescallsPgSqlRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testInsertRewriteOutputContainsSelectcallsPgSqlRewriterTest::testInsertSqlIsTransformedcallsPgSqlRewriterTest::testLateralDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsPgSqlRewriterTest::testMergeBuildsAtomicSynchronizationPlancallsPgSqlRewriterTest::testMultiStatementThrowsExceptioncallsPgSqlRewriterTest::testNestedPartitionInsertAllocatesIdentityFromRootRowscallsPgSqlRewriterTest::testReadPlanHasNoMutationcallsPgSqlRewriterTest::testRegisteredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsPgSqlRewriterTest::testRewriteCreateTableAsSelectNonCreateStatementDoesNotEnterCtasBranchcallsPgSqlRewriterTest::testRewriteDeleteEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteDeleteReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteDropTableReturnsSelectWhereFalsecallsPgSqlRewriterTest::testRewriteEmptyInputForRewriteMultipleThrowscallsPgSqlRewriterTest::testRewriteInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testRewriteInsertReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteInsertUsesDefaultsFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteIsDeterministiccallsPgSqlRewriterTest::testRewriteLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteMultiplecallsPgSqlRewriterTest::testRewriteMultipleAllReadStatementscallsPgSqlRewriterTest::testRewriteMultipleEmptycallsPgSqlRewriterTest::testRewriteMultipleEmptyStringThrowscallsPgSqlRewriterTest::testRewriteMultipleLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteMultipleMultiStatementcallsPgSqlRewriterTest::testRewriteMultipleSingleStatementcallsPgSqlRewriterTest::testRewriteMultipleWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteMultipleWithDdlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteMultipleWithOnlyWhitespaceThrowsAfterTrimcallsPgSqlRewriterTest::testRewriteOutputIsNonEmptycallsPgSqlRewriterTest::testRewriteUpdateEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteUpdateReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteWithLeadingWhitespaceTrimsFirstcallsPgSqlRewriterTest::testRewriteWithOnlyWhitespaceThrowsAfterTrimcallsPgSqlRewriterTest::testRollbackIsSkippedcallsPgSqlRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsPgSqlRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsPgSqlRewriterTest::testSelectReturnsReadKindcallsPgSqlRewriterTest::testSelectRewritesTableAfterBlockCommentcallsPgSqlRewriterTest::testSelectTableExistsInBothRegistryAndShadowcallsPgSqlRewriterTest::testSelectTableExistsInRegistryOnlycallsPgSqlRewriterTest::testSelectTableExistsInShadowStoreNotRegistrycallsPgSqlRewriterTest::testSelectTransformsCteWithShadowDatacallsPgSqlRewriterTest::testSelectUnknownTableWithSchemaContextThrowscallsPgSqlRewriterTest::testSelectUnknownTableWithShadowContextThrowscallsPgSqlRewriterTest::testSelectWithEmptyShadowGeneratesEmptyCtecallsPgSqlRewriterTest::testSelectWithMultiRowShadowUsesValuescallsPgSqlRewriterTest::testSelectWithNoSchemaContextPassesThroughcallsPgSqlRewriterTest::testSelectWithShadowOnlyDataDerivesColumnscallsPgSqlRewriterTest::testSelectWithShadowOnlyDataMergesColumnsAcrossRowscallsPgSqlRewriterTest::testSelectWithShadowOnlyHasSchemaContextcallsPgSqlRewriterTest::testShowPassesThroughUnchangedcallsPgSqlRewriterTest::testSkippedStatementPassesThroughcallsPgSqlRewriterTest::testSplitStatementsPreservesQuotedSemicolonscallsPgSqlRewriterTest::testStoredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testTableFunctionDoesNotHideJoinedShadowRelationcallsPgSqlRewriterTest::testTransactionStatementParsesShadowTransactionOperationscallsPgSqlRewriterTest::testTruncateMutationTableNamecallsPgSqlRewriterTest::testTruncateReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsSelectWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsPgSqlRewriterTest::testUnsupportedSqlThrowsExceptioncallsPgSqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetIsCalledForUpdatecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testUpdateMutationTableNamecallsPgSqlRewriterTest::testUpdatePreservesDollarQuotedStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesDoubledQuoteStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesEscapeStringBeforeWherecallsPgSqlRewriterTest::testUpdateResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUpdateSqlIsTransformedcallsPgSqlRewriterTest::testWritePlanHasNonNullMutationcallsStatementRewriterTest::testRewriteMutationStagesDdlUntilItIsAppliedcallsStatementRewriterTest::testRewriteStatementShadowsRegisteredTablescallsStatementRewriterTest::testValidateReadTablesRejectsUndeclaredRelationscallsDeleteTransformerTest::testBuildProjectionEmptyColumnsWildcardcallsDeleteTransformerTest::testBuildProjectionExactOutputSimplecallsDeleteTransformerTest::testBuildProjectionExactOutputWithAliascallsDeleteTransformerTest::testBuildProjectionExactOutputWithUsingcallsDeleteTransformerTest::testBuildProjectionNoWherecallsDeleteTransformerTest::testBuildProjectionReturnsTablesArraycallsDeleteTransformerTest::testBuildProjectionSimpleDeletecallsDeleteTransformerTest::testBuildProjectionUsesDoubleQuoteIdentifierscallsDeleteTransformerTest::testBuildProjectionWithAliascallsDeleteTransformerTest::testBuildProjectionWithAliasReturnsAliasInTablescallsDeleteTransformerTest::testBuildProjectionWithEmptyColumnsUsesWildcardcallsDeleteTransformerTest::testBuildProjectionWithNoWhereClausecallsDeleteTransformerTest::testBuildProjectionWithUsingClausecallsDeleteTransformerTest::testTransformAppliesCteShadowingcallsDeleteTransformerTest::testTransformCoalesceUsesTableContextColumnscallsDeleteTransformerTest::testTransformThrowsOnUnresolvableTargetcallsDeleteTransformerTest::testTransformWithEmptyTableContextcallsDeleteTransformerTest::testTransformWithoutColumnsInContextUsesWildcardcallsSelectProjectionTest::testRenderProjectsGeneratedIdentityAndSourceColumnscallsUpsertProjectionTest::testProjectUpsertcallsValueProjectionTest::testRenderPreservesSequenceProgressAcrossCommittedProjectionscallsInsertSelectRendererTestcallsInsertTransformerTest::testBooleanPlaceholderUsesNullSafeCastOnlyForBooleanPlaceholdercallsInsertTransformerTest::testCommitRewriteStateInsertAllocatesSerialValuesWithoutPhysicalSequencecallsInsertTransformerTest::testExplicitIdentityDoesNotConsumeGeneratedIdentitycallsInsertTransformerTest::testInsertAllocatesSerialValueAfterExistingRowscallsInsertTransformerTest::testInsertAppliesCteShadowingcallsInsertTransformerTest::testInsertDefaultValuesProjectsCompleteRowcallsInsertTransformerTest::testInsertExactOutputFormatcallsInsertTransformerTest::testInsertMultipleRowscallsInsertTransformerTest::testInsertMultiRowExactFormatcallsInsertTransformerTest::testInsertNormalizesSparseTableColumnKeyscallsInsertTransformerTest::testInsertNoValuesThrowscallsInsertTransformerTest::testInsertProjectsOmittedAndExplicitDefaultscallsInsertTransformerTest::testInsertSelectcallsInsertTransformerTest::testInsertSelectUsesExplicitTargetColumnsForProjectionAndIdentitycallsInsertTransformerTest::testInsertValueCountMismatchThrowsExceptioncallsInsertTransformerTest::testInsertValuesColumnExprAppearsInOutputcallsInsertTransformerTest::testInsertValuesWithExplicitColumnscallsInsertTransformerTest::testInsertValuesWithoutColumnsUsesTableContextcallsInsertTransformerTest::testInsertValuesWithWhitespaceAroundValuescallsInsertTransformerTest::testInsertWithoutColumnsAndNoTableContextThrowsExceptioncallsInsertTransformerTest::testInsertWithoutTableThrowsExceptioncallsInsertTransformerTest::testInsertWithSchemaQualifiedTablecallsInsertTransformerTest::testParentAndPartitionShareSerialAllocationNamespacecallsInsertTransformerTest::testProjectsPartialIndexPredicateForBothCandidateRowscallsInsertTransformerTest::testTransformProjectsConflictExpressionUsingCandidateKeyscallsInsertTransformerTest::testUncommittedTransformDoesNotConsumeSerialValuecallsInsertTransformerTest::testUsesInjectedCastRendererForTypedValuecallsPgSqlTransformerTest::testCommitRewriteStateCommitsGeneratedIdentityValuescallsPgSqlTransformerTest::testTransformDeleteDelegatesToDeleteTransformercallsPgSqlTransformerTest::testTransformInsertDelegatesToInsertTransformercallsPgSqlTransformerTest::testTransformMergeDelegatesToMergeTransformercallsPgSqlTransformerTest::testTransformSelectDelegatesToSelectTransformercallsPgSqlTransformerTest::testTransformUnsupportedStatementThrowscallsPgSqlTransformerTest::testTransformUpdateDelegatesToUpdateTransformercallsUpdateTransformerTest::testBuildProjectionCoalesceColumnsFromTableContextcallsUpdateTransformerTest::testBuildProjectionExactOutputSimplecallsUpdateTransformerTest::testBuildProjectionExactOutputWithAliascallsUpdateTransformerTest::testBuildProjectionOnlySetColumnsWhenNoTableColumnscallsUpdateTransformerTest::testBuildProjectionReturnsTablesArraycallsUpdateTransformerTest::testBuildProjectionSetColumnExcludesFromRemainingColumnscallsUpdateTransformerTest::testBuildProjectionSetColumnIsCoveredNotDuplicatedcallsUpdateTransformerTest::testBuildProjectionSimpleUpdatecallsUpdateTransformerTest::testBuildProjectionUsesDoubleQuoteIdentifierscallsUpdateTransformerTest::testBuildProjectionWildcardFallbackcallsUpdateTransformerTest::testBuildProjectionWithAliascallsUpdateTransformerTest::testBuildProjectionWithEmptyColumnsUsesWildcardcallsUpdateTransformerTest::testBuildProjectionWithFromClausecallsUpdateTransformerTest::testBuildProjectionWithFromClauseExactcallsUpdateTransformerTest::testBuildProjectionWithMultipleSetColumnscallsUpdateTransformerTest::testBuildProjectionWithNoWhereClausecallsUpdateTransformerTest::testTransformAppliesCteShadowingcallsUpdateTransformerTest::testTransformThrowsOnUnresolvableTargetcallsUpdateTransformerTest::testTransformWithEmptyTableContextcallsRowMutationResolverTest::testResolveDeleteMatchesThePrimaryKeycallsRowMutationResolverTest::testResolveInsertAppliesOnlyReturnedRowscallsRowMutationResolverTest::testResolveMergeSynchronizesTheProjectedTargetcallsRowMutationResolverTest::testResolveTruncateIncludesEveryExplicitTargetcallsRowMutationResolverTest::testResolveUpdatePreservesTheTargetIdentitycallsRowMutationResolverTest::testResolveUpsertEvaluatesAssignmentsWithoutNativeCandidateKeyscallsTableMutationResolverTest::testResolveAlterTableRejectsUnsupportedSchemaChangescallsTableMutationResolverTest::testResolveCreateTableRegistersItsSchemaOnlyWhenAppliedcallsTableMutationResolverTest::testResolveDropTableRemovesOnlyTheTargetcallsTableMutationResolverTest::testResolvePartitionInheritsItsParentDefinitioncallsPgSqlMutationResolverTest::testNestedPartitionDmlTargetsRootStoragecallsPgSqlMutationResolverTest::testPartitionDdlInheritsParentSchemaAndChildDmlUsesParentStoragecallsPgSqlMutationResolverTest::testPartitionDdlRejectsUnknownParentAndUnsupportedHashBoundscallsPgSqlMutationResolverTest::testResolveAlterTableNameNotFoundThrowscallsPgSqlMutationResolverTest::testResolveAlterTableThrowsUnsupportedcallsPgSqlMutationResolverTest::testResolveAlterTableUnknownTableThrowscallsPgSqlMutationResolverTest::testResolveAlterTableWithoutTableNameThrowscallsPgSqlMutationResolverTest::testResolveAlterTableWithUnknownTableThrowscallsPgSqlMutationResolverTest::testResolveCreateTableAlreadyExistsThrowscallsPgSqlMutationResolverTest::testResolveCreateTableAlreadyExistsWithIfNotExistscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectCommaInSubquerycallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectExpressionColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnNamescallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectIfNotExistscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectLowercaseSelectAndFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectLowercaseSelectExtractsCorrectColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNewlineBeforeFromExtractsColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNoFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNoFromClausecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNoFromLowercasecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectQuotedColumnAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectReturnsCreateTableAsSelectMutationcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectStarReturnsEmptyColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectTableDotColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithAliasescallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithAliasExtractsAliasNamecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnsMultilinecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithCommaInSelectcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithDoubleQuotedAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithDoubleQuotedStringContainCommacallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithExpressioncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithExpressionscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseAliasAscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseAliasAsV2callsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseSelectAndAscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseSelectExtractsColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseSqlcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNewlineBeforeFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNewlineInSelectListcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNoFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNoFromLowercaseSelectcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithPaddedStarcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedStringContainCommacallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedStringContainingCommacallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithStarcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithSubquerycallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithTableQualifiedColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithTableQualifiedColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithWildcardcallsPgSqlMutationResolverTest::testResolveCreateTableIfNotExistsDoesNotThrowWhenAlreadyExistscallsPgSqlMutationResolverTest::testResolveCreateTableIfNotExistsWhenTableExistscallsPgSqlMutationResolverTest::testResolveCreateTableLikeReturnsCreateTableLikeMutationcallsPgSqlMutationResolverTest::testResolveCreateTableLikeSourceNotRegisteredThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLikeSourceRegisteredcallsPgSqlMutationResolverTest::testResolveCreateTableLikeUnknownSourceThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithIfNotExistscallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithKnownSourcecallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithNullSourceThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithUnknownSourceThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveCreateTableNameNotFoundThrowscallsPgSqlMutationResolverTest::testResolveCreateTableReturnsCreateTableMutationcallsPgSqlMutationResolverTest::testResolveCreateTableWhenAlreadyExistsThrowscallsPgSqlMutationResolverTest::testResolveCreateTableWithoutTableNameThrowscallsPgSqlMutationResolverTest::testResolveCtasApplyLowercaseSelectRegistersColumnscallsPgSqlMutationResolverTest::testResolveCtasApplyNoFromLowercaseSelectRegistersColumnscallsPgSqlMutationResolverTest::testResolveCtasApplyRegistersColumnsFromSelectcallsPgSqlMutationResolverTest::testResolveCtasApplySelectNewlineBeforeFromRegistersColumnscallsPgSqlMutationResolverTest::testResolveCtasApplyTableQualifiedColumnRegistersColumnNamecallsPgSqlMutationResolverTest::testResolveCtasApplyWithAliasRegistersAliasNamecallsPgSqlMutationResolverTest::testResolveCtasApplyWithLowercaseAliasRegistersAliasNamecallsPgSqlMutationResolverTest::testResolveCtasApplyWithQuotedAliasRegistersCorrectNamecallsPgSqlMutationResolverTest::testResolveDeleteEnsuresShadowStorecallsPgSqlMutationResolverTest::testResolveDeleteEnsuresShadowStoreEntrycallsPgSqlMutationResolverTest::testResolveDeleteLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveDeleteNoRegistryNoShadowThrowscallsPgSqlMutationResolverTest::testResolveDeleteReturnsDeleteMutationcallsPgSqlMutationResolverTest::testResolveDeleteReturnsPrimaryKeysFromRegistrycallsPgSqlMutationResolverTest::testResolveDeleteTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveDeleteWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveDeleteWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveDeleteWithShadowRowsDoesNotThrowcallsPgSqlMutationResolverTest::testResolveDeleteWithShadowStoreDatacallsPgSqlMutationResolverTest::testResolveDeleteWithShadowStoreOnlyNoRegistrycallsPgSqlMutationResolverTest::testResolveDeleteWithUnknownTableAndNoShadowThrowscallsPgSqlMutationResolverTest::testResolveDropTableIfExistsForRegisteredTablecallsPgSqlMutationResolverTest::testResolveDropTableIfExistsWithUnknownTablecallsPgSqlMutationResolverTest::testResolveDropTableLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveDropTableNameNotFoundThrowscallsPgSqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsPgSqlMutationResolverTest::testResolveDropTableWithIfExistsNotRegisteredcallsPgSqlMutationResolverTest::testResolveDropTableWithoutIfExistsNotRegisteredThrowscallsPgSqlMutationResolverTest::testResolveDropTableWithoutTableNameThrowscallsPgSqlMutationResolverTest::testResolveDropTableWithUnknownTableThrowscallsPgSqlMutationResolverTest::testResolveInsertFalseValueForHasInsertSelectcallsPgSqlMutationResolverTest::testResolveInsertLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveInsertNoRegistryStillWorkscallsPgSqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveInsertReturnsInsertMutationForValuescallsPgSqlMutationResolverTest::testResolveInsertReturnsPrimaryKeysFromRegistrycallsPgSqlMutationResolverTest::testResolveInsertTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoNothingcallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoNothingReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoUpdatecallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoUpdateReturnsUpsertMutationcallsPgSqlMutationResolverTest::testResolveInsertWithoutOnConflictcallsPgSqlMutationResolverTest::testResolveInsertWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveInsertWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveMergeAcceptsInitializedTableWithoutReflectedSchemacallsPgSqlMutationResolverTest::testResolveMergeRejectsUnknownUninitializedTablecallsPgSqlMutationResolverTest::testResolveMergeReturnsAtomicTableSynchronizationcallsPgSqlMutationResolverTest::testResolveMultiTableTruncateReturnsMultiTruncateMutationcallsPgSqlMutationResolverTest::testResolveOnConflictDoNothingWithoutRegisteredSchemacallsPgSqlMutationResolverTest::testResolveOnConflictDoUpdateWithoutRegisteredSchemacallsPgSqlMutationResolverTest::testResolveSelectReturnsNullcallsPgSqlMutationResolverTest::testResolveTruncateLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveTruncateReturnsTruncateMutationcallsPgSqlMutationResolverTest::testResolveTruncateTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveTruncateWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveUnknownStatementTypeReturnsNullcallsPgSqlMutationResolverTest::testResolveUpdateEnsuresShadowStorecallsPgSqlMutationResolverTest::testResolveUpdateEnsuresShadowStoreEntrycallsPgSqlMutationResolverTest::testResolveUpdateLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveUpdateNoRegistryDoesNotCreateUnsafeMutationcallsPgSqlMutationResolverTest::testResolveUpdateNoRegistryThrowsUnknownSchemacallsPgSqlMutationResolverTest::testResolveUpdateReturnsPrimaryKeysFromRegistrycallsPgSqlMutationResolverTest::testResolveUpdateReturnsUpdateMutationcallsPgSqlMutationResolverTest::testResolveUpdateTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveUpdateWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveUpdateWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveUpdateWithRegisteredTablecallsPgSqlMutationResolverTest::testResolveUpsertApplyUpdatesExistingRowcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesArePreservedcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesMappingcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesPreservedcallsPgSqlMutationResolverTest::testResolveUpsertReturnsPrimaryKeysAndConflictColumnscallsPgSqlMutationResolverTest::testResolveUpsertTernaryRegisteredTableUsesDefinitionPrimaryKeyscallsPgSqlMutationResolverTest::testResolveUpsertUsesPartialIndexPredicateForConflictDetectioncallsPgSqlMutationResolverTest::testResolveUpsertValuesFromConflictClausecallsPgSqlMutationResolverTest::testResolveUpsertWithMultipleSetColumnscallsPgSqlMutationResolverTest::testResolveUpsertWithRegisteredTableUsesRegistrycallsPgSqlMutationResolverTest::testSubpartitionDdlStoresItsOwnPartitionKeycallsPgSqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacalls
Relations§
Instantiated in 1
Method calls 41
- method-call ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard::classify() packages/ztd-query-postgres/src/Rewrite/PgSqlQueryGuard.php:49
- method-call ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter::splitStatements() packages/ztd-query-postgres/src/Rewrite/PgSqlRewriter.php:185
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:78
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::validateReadTables() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:102
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteMutation() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:126
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteMutation() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:127
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:43
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:65
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:83
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:89
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\SelectProjection::render() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/SelectProjection.php:39
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection::projectUpsert() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:45
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection::projectUpsert() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:50
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection::projectUpsert() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:69
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\ValueProjection::render() packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/ValueProjection.php:46
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:56
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:61
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:72
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:51
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:43
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:75
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:78
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:87
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::buildProjection() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:94
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveInsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:51
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveInsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:60
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveInsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:61
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveInsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:65
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:107
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:131
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveTruncate() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:175
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpsert() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:205
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:51
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:56
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:67
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:68
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:76
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveCreateTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:77
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveDropTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:101
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveDropTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:106
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveAlterTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:122
Type declarations 24
- type ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard packages/ztd-query-postgres/src/Rewrite/PgSqlQueryGuard.php:24
- type ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard packages/ztd-query-postgres/src/Rewrite/PgSqlQueryGuard.php:29
- type ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter packages/ztd-query-postgres/src/Rewrite/PgSqlRewriter.php:67
- type ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter packages/ztd-query-postgres/src/Rewrite/PgSqlRewriter.php:82
- type ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:34
- type ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:45
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:21
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:29
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\SelectProjection packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/SelectProjection.php:23
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:19
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\UpsertProjection packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/UpsertProjection.php:25
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\Insert\ValueProjection packages/ztd-query-postgres/src/Rewrite/Transformer/Insert/ValueProjection.php:26
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:22
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:35
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:20
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:31
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:21
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:29
- type ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:31
- type ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:38
- type ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:28
- type ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:36
- type ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:25
- type ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:35