classPgSqlValueRenderer
final class PgSqlValueRenderer
implements ValueRenderer
Public API: explicitly declared with
@visibility public.Encodes shadow values using PostgreSQL's typed literal semantics.
(new \ZtdQuery\Platform\Postgres\Sql\Value\PgSqlValueRenderer())->renderValue(true) // => 'TRUE'Methods§
public function __construct(private CastRenderer $castRenderer = new \ZtdQuery\Platform\Postgres\Sql\Value\PgSqlCastRenderer())Initializes the collaborators and state used by this value renderer.
Parameters
$castRenderer | CastRenderer |
Calls 1
public function renderValue(mixed $value, ?ColumnDeclaration $type = null): stringPublic API: explicitly declared with
@visibility public.Renders a shadow value as a PostgreSQL literal, optionally using its declared type.
Parameters
$value | mixed | |
$type | ?ColumnDeclaration |
Returns
stringThrows
RuntimeException$renderer = new \ZtdQuery\Platform\Postgres\Sql\Value\PgSqlValueRenderer();
$renderer->renderValue("O'Reilly") // => "CAST('O''Reilly' AS TEXT)"
$renderer->renderValue(null) // => 'NULL'Test cases 12
PgSqlValueRendererTest::testArrayRetainsNativeArrayTypecallsPgSqlValueRendererTest::testBigIntRetainsNativeWidthcallsPgSqlValueRendererTest::testBinaryRejectsNonStringableNonResourcecallsPgSqlValueRendererTest::testBinaryStreamIsReadWithoutChangingItsPositioncallsPgSqlValueRendererTest::testBinaryUsesDecodeExpressioncallsPgSqlValueRendererTest::testDeclaredFloatUsesQuotedRoundTripRepresentationcallsPgSqlValueRendererTest::testDeclaredNonScalarUsesSerializedRepresentationcallsPgSqlValueRendererTest::testInferredAndDeclaredStringableRemainDistinctcallsPgSqlValueRendererTest::testInferredScalarTypesUseNativeLiteralscallsPgSqlValueRendererTest::testRenderValueFalseUsesBooleanLiteralcallsPgSqlValueRendererTest::testStringQuotesApostrophescallsPgSqlValueRendererTest::testUntypedArrayIsRejectedcalls
Calls 20
- new LiteralText line 46
- function-call
is_boolline 48 - function-call
is_floatline 48 - method-call LiteralText::untyped() line 49
- function-call
is_intline 51 - function-call
is_stringline 51 - new
RuntimeExceptionline 52 - new ColumnDeclaration line 54
- class-const ColumnTypeFamily::INTEGER() line 54
- class-const ColumnTypeFamily::TEXT() line 54
- method-call CastRenderer::renderCast() line 55
- method-call LiteralText::quoted() line 55
- class-const ColumnTypeFamily::BINARY() line 57
- function-call
is_resourceline 58 - function-call
get_resource_typeline 58 - method-call BinaryStream::read() line 59
- new BinaryStream line 59
- function-call
is_scalarline 60 - function-call
bin2hexline 65 - function-call
serializeline 67
Private surface 1§
Implementation details, listed for orientation only.
private CastRenderer $castRenderer = new \ZtdQuery\Platform\Postgres\Sql\Value\PgSqlCastRenderer()Test cases 27§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 12
PgSqlValueRendererTest::testArrayRetainsNativeArrayTypecallsPgSqlValueRendererTest::testBigIntRetainsNativeWidthcallsPgSqlValueRendererTest::testBinaryRejectsNonStringableNonResourcecallsPgSqlValueRendererTest::testBinaryStreamIsReadWithoutChangingItsPositioncallsPgSqlValueRendererTest::testBinaryUsesDecodeExpressioncallsPgSqlValueRendererTest::testDeclaredFloatUsesQuotedRoundTripRepresentationcallsPgSqlValueRendererTest::testDeclaredNonScalarUsesSerializedRepresentationcallsPgSqlValueRendererTest::testInferredAndDeclaredStringableRemainDistinctcallsPgSqlValueRendererTest::testInferredScalarTypesUseNativeLiteralscallsPgSqlValueRendererTest::testRenderValueFalseUsesBooleanLiteralcallsPgSqlValueRendererTest::testStringQuotesApostrophescallsPgSqlValueRendererTest::testUntypedArrayIsRejectedcalls
Other tests reaching this symbol 15
PgSqlSessionFactoryTestcallsPgSqlRewriterTestcallsStatementRewriterTestcallsRowSourceRendererTest::testDeclaredSourceRendersEmptyTypedAndSingleRowSourcescallsRowSourceRendererTest::testFormatValuecallsRowSourceRendererTest::testGenerateCtecallsRowSourceRendererTest::testGenerateMultiRowSourcecallsRowSourceRendererTest::testRenderFallbackNullCastcallsRowSourceRendererTest::testWrapCtecallsDeleteTransformerTestcallsInsertTransformerTestcallsMergeTransformerTestcallsPgSqlTransformerTestcallsSelectTransformerTestcallsUpdateTransformerTestcalls