classMySqlValueRenderer
final class MySqlValueRenderer
implements ValueRenderer
Encodes shadow values without relying on MySQL string escape modes.
Methods§
public function __construct(private CastRenderer $castRenderer = new \ZtdQuery\Platform\MySql\Sql\Value\MySqlCastRenderer())public function renderValue(mixed $value, ?ColumnDeclaration $type = null): stringRender Value for the supplied MySQL input.
Parameters
$value | mixed | |
$type | ?ColumnDeclaration |
Returns
stringTest cases 12
MySqlValueRendererTest::testBinaryUsesLosslessHexLiteralcallsMySqlValueRendererTest::testInferredAndDeclaredBooleansRemainDistinctcallsMySqlValueRendererTest::testInferredAndDeclaredIntegersRemainDistinctcallsMySqlValueRendererTest::testInferredFloatUsesRoundTripRepresentationcallsMySqlValueRendererTest::testInferredStringableUsesItsSqlRepresentationcallsMySqlValueRendererTest::testNullRetainsDeclaredTypecallsMySqlValueRendererTest::testRejectsNonScalarValuescallsMySqlValueRendererTest::testRenderValueTextUsesHexEncodingInsteadOfSqlEscapeModecallsMySqlValueRendererTest::testStoredYearZeroIsNotReinterpretedAsAStringYearcallsMySqlValueRendererTest::testStreamValueIsReadWithoutChangingItsPositioncallsMySqlValueRendererTest::testStringFamilyYearRemainsTextualcallsMySqlValueRendererTest::testTextEscapesSingleQuotescalls
Called from 2
Calls 11
- function-call
is_boolline 34 - function-call
is_floatline 38 - function-call
var_exportline 39 - method-call ScalarExpression::inferType() line 46
- new ScalarExpression line 46
- class-const ColumnTypeFamily::INTEGER() line 47
- function-call
in_arrayline 47 - function-call
strtoupperline 47 - new ColumnDeclaration line 48
- method-call ScalarExpression::renderExpression() line 50
- method-call CastRenderer::renderCast() line 52
Private surface 1§
Implementation details, listed for orientation only.
private CastRenderer $castRenderer = new \ZtdQuery\Platform\MySql\Sql\Value\MySqlCastRenderer()Test cases 31§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 12
MySqlValueRendererTest::testBinaryUsesLosslessHexLiteralcallsMySqlValueRendererTest::testInferredAndDeclaredBooleansRemainDistinctcallsMySqlValueRendererTest::testInferredAndDeclaredIntegersRemainDistinctcallsMySqlValueRendererTest::testInferredFloatUsesRoundTripRepresentationcallsMySqlValueRendererTest::testInferredStringableUsesItsSqlRepresentationcallsMySqlValueRendererTest::testNullRetainsDeclaredTypecallsMySqlValueRendererTest::testRejectsNonScalarValuescallsMySqlValueRendererTest::testRenderValueTextUsesHexEncodingInsteadOfSqlEscapeModecallsMySqlValueRendererTest::testStoredYearZeroIsNotReinterpretedAsAStringYearcallsMySqlValueRendererTest::testStreamValueIsReadWithoutChangingItsPositioncallsMySqlValueRendererTest::testStringFamilyYearRemainsTextualcallsMySqlValueRendererTest::testTextEscapesSingleQuotescalls
Other tests reaching this symbol 19
MySqlSessionFactoryTestcallsMySqlLoadDataProjectorTestcallsRowProjectorTest::testProjectRowcallsRowProjectorTest::testSubstituteVariablescallsMySqlRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertTransformerTestcallsMySqlTransformerTestcallsReplaceTransformerTestcallsSelectTransformerTestcallsCteRowsTest::testEmptySelectcallsCteRowsTest::testFormatValuecallsCteRowsTest::testGenerateCtecallsCteRowsTest::testGenerateCteRejectsUnknownEmptyColumnscallsCteRowsTest::testWrapCtecallsUpdateTransformerTestcallsRowMutationResolverTestcallsMySqlMutationResolverTestcalls
Relations§
Instantiated in 2
- new ZtdQuery\Platform\MySql\Rewrite\LoadData\MySqlLoadDataProjector::__construct() packages/ztd-query-mysql/src/Rewrite/LoadData/MySqlLoadDataProjector.php:28
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\SelectTransformer::__construct() packages/ztd-query-mysql/src/Rewrite/Transformer/SelectTransformer.php:46