classPgSqlPdoPlaceholderEscaper
final class PgSqlPdoPlaceholderEscaper
implements SqlPlaceholderEscaper
Pdo placeholder escaper for PostgreSQL queries.
Methods§
public function escape(string $sql): stringEscapes operator question marks while preserving PDO placeholders and quoted SQL.
Parameters
$sql | string |
Returns
stringTest cases 12
PgSqlPdoPlaceholderEscaperTest::testDistinguishesJsonOperatorFromItsPlaceholderOperandcallsPgSqlPdoPlaceholderEscaperTest::testEscapesPostgreSqlJsonExistenceOperatorscallsPgSqlPdoPlaceholderEscaperTest::testHandlesQuestionMarkBoundariescallsPgSqlPdoPlaceholderEscaperTest::testKeywordsRequireAFollowingOperandcallsPgSqlPdoPlaceholderEscaperTest::testLeavesQuotedAndCommentedQuestionMarksUntouchedcallsPgSqlPdoPlaceholderEscaperTest::testPreservesAlreadyEscapedOperatorAndNativeParameterscallsPgSqlPdoPlaceholderEscaperTest::testPreservesDollarQuotedStringsAndNativeParameterscallsPgSqlPdoPlaceholderEscaperTest::testPreservesPositionalPlaceholdersInOperandPositionscallsPgSqlPdoPlaceholderEscaperTest::testPreservesQuestionMarksInCommentFormscallsPgSqlPdoPlaceholderEscaperTest::testPreservesQuestionMarksInQuotedFormscallsPgSqlPdoPlaceholderEscaperTest::testPunctuationDeterminesWhetherAnOperandFollowscallsPgSqlPdoPlaceholderEscaperTest::testTracksNamedParametersIdentifiersAndNumbersAsOperandscalls
Called from 1
Calls 9
- new EscapeCursor line 19
- new QuotedInput line 20
- new OperandInput line 21
- function-call
strlenline 22 - method-call QuotedInput::consumeIgnored() line 23
- method-call QuotedInput::consumeQuoted() line 23
- method-call OperandInput::consumeOperator() line 24
- method-call OperandInput::consumeOperand() line 24
- method-call EscapeCursor::preserve() line 29
Test cases 14§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 12
PgSqlPdoPlaceholderEscaperTest::testDistinguishesJsonOperatorFromItsPlaceholderOperandcallsPgSqlPdoPlaceholderEscaperTest::testEscapesPostgreSqlJsonExistenceOperatorscallsPgSqlPdoPlaceholderEscaperTest::testHandlesQuestionMarkBoundariescallsPgSqlPdoPlaceholderEscaperTest::testKeywordsRequireAFollowingOperandcallsPgSqlPdoPlaceholderEscaperTest::testLeavesQuotedAndCommentedQuestionMarksUntouchedcallsPgSqlPdoPlaceholderEscaperTest::testPreservesAlreadyEscapedOperatorAndNativeParameterscallsPgSqlPdoPlaceholderEscaperTest::testPreservesDollarQuotedStringsAndNativeParameterscallsPgSqlPdoPlaceholderEscaperTest::testPreservesPositionalPlaceholdersInOperandPositionscallsPgSqlPdoPlaceholderEscaperTest::testPreservesQuestionMarksInCommentFormscallsPgSqlPdoPlaceholderEscaperTest::testPreservesQuestionMarksInQuotedFormscallsPgSqlPdoPlaceholderEscaperTest::testPunctuationDeterminesWhetherAnOperandFollowscallsPgSqlPdoPlaceholderEscaperTest::testTracksNamedParametersIdentifiersAndNumbersAsOperandscalls