classMySqlCastRenderer
final class MySqlCastRenderer
implements CastRenderer
MySQL implementation of CastRenderer.
Maps ColumnDeclaration to MySQL CAST syntax (e.g. CAST(expr AS SIGNED), CAST(expr AS CHAR)).
Methods§
public function renderCast(string $expression, ColumnDeclaration $type): stringRender Cast for the supplied MySQL input.
Parameters
$expression | string | |
$type | ColumnDeclaration |
Returns
stringTest cases 50
MySqlCastRendererTest::testEachFamilyProducesDistinctCastTypecallsMySqlCastRendererTest::testRenderCastBinarycallsMySqlCastRendererTest::testRenderCastBooleancallsMySqlCastRendererTest::testRenderCastDatecallsMySqlCastRendererTest::testRenderCastDatetimecallsMySqlCastRendererTest::testRenderCastDecimalWithLowercaseNativeTypecallsMySqlCastRendererTest::testRenderCastDecimalWithoutPrecisioncallsMySqlCastRendererTest::testRenderCastDecimalWithPrecisioncallsMySqlCastRendererTest::testRenderCastDecimalWithSinglePrecisioncallsMySqlCastRendererTest::testRenderCastDoublecallsMySqlCastRendererTest::testRenderCastExpressionContainedInOutputcallsMySqlCastRendererTest::testRenderCastFloatcallsMySqlCastRendererTest::testRenderCastForIntegerProducesExactFormcallsMySqlCastRendererTest::testRenderCastForStringUsesCharTypecallsMySqlCastRendererTest::testRenderCastHandlesEveryNativeTypecallsMySqlCastRendererTest::testRenderCastIntegercallsMySqlCastRendererTest::testRenderCastIsDeterministiccallsMySqlCastRendererTest::testRenderCastJsoncallsMySqlCastRendererTest::testRenderCastPreservesYearCoercionForIntegerFamilycallsMySqlCastRendererTest::testRenderCastStringcallsMySqlCastRendererTest::testRenderCastTextcallsMySqlCastRendererTest::testRenderCastTimecallsMySqlCastRendererTest::testRenderCastTimestampcallsMySqlCastRendererTest::testRenderCastUnknownFamilyFallsBackToNativeTypecallsMySqlCastRendererTest::testRenderCastUnknownFamilyUnknownNativeTypecallsMySqlCastRendererTest::testRenderCastUnknownFamilyWithLowercaseNativeTypecallsMySqlCastRendererTest::testRenderCastUnknownFamilyWithLowercaseNativeTypeWithParamscallsMySqlCastRendererTest::testUnknownNativeBigintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeBinaryMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeBlobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeDateMapsToDatecallsMySqlCastRendererTest::testUnknownNativeDatetimeMapsToDatetimecallsMySqlCastRendererTest::testUnknownNativeDecimalMapsToDecimalcallsMySqlCastRendererTest::testUnknownNativeDoubleMapsToDoublecallsMySqlCastRendererTest::testUnknownNativeFloatMapsToFloatcallsMySqlCastRendererTest::testUnknownNativeIntegerMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeIntMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeJsonMapsToJsoncallsMySqlCastRendererTest::testUnknownNativeLongblobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeMediumblobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeMediumintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeNumericMapsToDecimalcallsMySqlCastRendererTest::testUnknownNativeRealMapsToDoublecallsMySqlCastRendererTest::testUnknownNativeSmallintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeTimeMapsToTimecallsMySqlCastRendererTest::testUnknownNativeTimestampMapsToDatetimecallsMySqlCastRendererTest::testUnknownNativeTinyblobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeTinyintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeVarbinaryMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeWithParenthesesStrippedForMatchcalls
Calls 19
- class-const ColumnTypeFamily::INTEGER() line 23
- function-call
in_arrayline 23 - function-call
strtoupperline 23 - class-const ColumnTypeFamily::DECIMAL() line 29
- method-call CastTypeResolver::extractDecimalCast() line 29
- new CastTypeResolver line 29
- class-const ColumnTypeFamily::FLOAT() line 30
- class-const ColumnTypeFamily::DOUBLE() line 31
- class-const ColumnTypeFamily::BOOLEAN() line 32
- class-const ColumnTypeFamily::DATE() line 33
- class-const ColumnTypeFamily::DATETIME() line 34
- class-const ColumnTypeFamily::TIMESTAMP() line 34
- class-const ColumnTypeFamily::TIME() line 35
- class-const ColumnTypeFamily::JSON() line 36
- class-const ColumnTypeFamily::BINARY() line 37
- class-const ColumnTypeFamily::STRING() line 38
- class-const ColumnTypeFamily::TEXT() line 38
- class-const ColumnTypeFamily::UNKNOWN() line 39
- method-call CastTypeResolver::mapNativeTypeToCastType() line 39
public function renderNullCast(ColumnDeclaration $type): stringRender Null Cast for the supplied MySQL input.
Parameters
$type | ColumnDeclaration |
Returns
stringTest cases 19
MySqlCastRendererTest::testAllColumnTypeFamiliesProduceNonEmptyOutputcallsMySqlCastRendererTest::testOutputContainsCastKeywordcallsMySqlCastRendererTest::testRenderCastHandlesEveryNativeTypecallsMySqlCastRendererTest::testRenderCastPreservesYearCoercionForIntegerFamilycallsMySqlCastRendererTest::testRenderNullCastBinarycallsMySqlCastRendererTest::testRenderNullCastBooleancallsMySqlCastRendererTest::testRenderNullCastContainsNullcallsMySqlCastRendererTest::testRenderNullCastDatecallsMySqlCastRendererTest::testRenderNullCastDatetimecallsMySqlCastRendererTest::testRenderNullCastDecimalcallsMySqlCastRendererTest::testRenderNullCastDoublecallsMySqlCastRendererTest::testRenderNullCastFloatcallsMySqlCastRendererTest::testRenderNullCastIntegercallsMySqlCastRendererTest::testRenderNullCastJsoncallsMySqlCastRendererTest::testRenderNullCastProducesExactFormcallsMySqlCastRendererTest::testRenderNullCastStringcallsMySqlCastRendererTest::testRenderNullCastTextcallsMySqlCastRendererTest::testRenderNullCastTimecallsMySqlCastRendererTest::testRenderNullCastTimestampcalls
Calls 17
- class-const ColumnTypeFamily::INTEGER() line 51
- class-const ColumnTypeFamily::DECIMAL() line 52
- method-call CastTypeResolver::extractDecimalCast() line 52
- new CastTypeResolver line 52
- class-const ColumnTypeFamily::FLOAT() line 53
- class-const ColumnTypeFamily::DOUBLE() line 54
- class-const ColumnTypeFamily::BOOLEAN() line 55
- class-const ColumnTypeFamily::DATE() line 56
- class-const ColumnTypeFamily::DATETIME() line 57
- class-const ColumnTypeFamily::TIMESTAMP() line 57
- class-const ColumnTypeFamily::TIME() line 58
- class-const ColumnTypeFamily::JSON() line 59
- class-const ColumnTypeFamily::BINARY() line 60
- class-const ColumnTypeFamily::STRING() line 61
- class-const ColumnTypeFamily::TEXT() line 61
- class-const ColumnTypeFamily::UNKNOWN() line 62
- method-call CastTypeResolver::mapNativeTypeToCastType() line 62
Test cases 90§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 67
MySqlCastRendererTest::testAllColumnTypeFamiliesProduceNonEmptyOutputcallsMySqlCastRendererTest::testEachFamilyProducesDistinctCastTypecallsMySqlCastRendererTest::testOutputContainsCastKeywordcallsMySqlCastRendererTest::testRenderCastBinarycallsMySqlCastRendererTest::testRenderCastBooleancallsMySqlCastRendererTest::testRenderCastDatecallsMySqlCastRendererTest::testRenderCastDatetimecallsMySqlCastRendererTest::testRenderCastDecimalWithLowercaseNativeTypecallsMySqlCastRendererTest::testRenderCastDecimalWithoutPrecisioncallsMySqlCastRendererTest::testRenderCastDecimalWithPrecisioncallsMySqlCastRendererTest::testRenderCastDecimalWithSinglePrecisioncallsMySqlCastRendererTest::testRenderCastDoublecallsMySqlCastRendererTest::testRenderCastExpressionContainedInOutputcallsMySqlCastRendererTest::testRenderCastFloatcallsMySqlCastRendererTest::testRenderCastForIntegerProducesExactFormcallsMySqlCastRendererTest::testRenderCastForStringUsesCharTypecallsMySqlCastRendererTest::testRenderCastHandlesEveryNativeTypecallsMySqlCastRendererTest::testRenderCastIntegercallsMySqlCastRendererTest::testRenderCastIsDeterministiccallsMySqlCastRendererTest::testRenderCastJsoncallsMySqlCastRendererTest::testRenderCastPreservesYearCoercionForIntegerFamilycallsMySqlCastRendererTest::testRenderCastStringcallsMySqlCastRendererTest::testRenderCastTextcallsMySqlCastRendererTest::testRenderCastTimecallsMySqlCastRendererTest::testRenderCastTimestampcallsMySqlCastRendererTest::testRenderCastUnknownFamilyFallsBackToNativeTypecallsMySqlCastRendererTest::testRenderCastUnknownFamilyUnknownNativeTypecallsMySqlCastRendererTest::testRenderCastUnknownFamilyWithLowercaseNativeTypecallsMySqlCastRendererTest::testRenderCastUnknownFamilyWithLowercaseNativeTypeWithParamscallsMySqlCastRendererTest::testRenderNullCastBinarycallsMySqlCastRendererTest::testRenderNullCastBooleancallsMySqlCastRendererTest::testRenderNullCastContainsNullcallsMySqlCastRendererTest::testRenderNullCastDatecallsMySqlCastRendererTest::testRenderNullCastDatetimecallsMySqlCastRendererTest::testRenderNullCastDecimalcallsMySqlCastRendererTest::testRenderNullCastDoublecallsMySqlCastRendererTest::testRenderNullCastFloatcallsMySqlCastRendererTest::testRenderNullCastIntegercallsMySqlCastRendererTest::testRenderNullCastJsoncallsMySqlCastRendererTest::testRenderNullCastProducesExactFormcallsMySqlCastRendererTest::testRenderNullCastStringcallsMySqlCastRendererTest::testRenderNullCastTextcallsMySqlCastRendererTest::testRenderNullCastTimecallsMySqlCastRendererTest::testRenderNullCastTimestampcallsMySqlCastRendererTest::testUnknownNativeBigintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeBinaryMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeBlobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeDateMapsToDatecallsMySqlCastRendererTest::testUnknownNativeDatetimeMapsToDatetimecallsMySqlCastRendererTest::testUnknownNativeDecimalMapsToDecimalcallsMySqlCastRendererTest::testUnknownNativeDoubleMapsToDoublecallsMySqlCastRendererTest::testUnknownNativeFloatMapsToFloatcallsMySqlCastRendererTest::testUnknownNativeIntegerMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeIntMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeJsonMapsToJsoncallsMySqlCastRendererTest::testUnknownNativeLongblobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeMediumblobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeMediumintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeNumericMapsToDecimalcallsMySqlCastRendererTest::testUnknownNativeRealMapsToDoublecallsMySqlCastRendererTest::testUnknownNativeSmallintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeTimeMapsToTimecallsMySqlCastRendererTest::testUnknownNativeTimestampMapsToDatetimecallsMySqlCastRendererTest::testUnknownNativeTinyblobMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeTinyintMapsToSignedcallsMySqlCastRendererTest::testUnknownNativeVarbinaryMapsToBinarycallsMySqlCastRendererTest::testUnknownNativeWithParenthesesStrippedForMatchcalls
Other tests reaching this symbol 23
MySqlSessionFactoryTestcallsMySqlLoadDataProjectorTestcallsRowProjectorTestcallsMySqlRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsResultProjectionTest::testBuildInsertRowSelectcallsResultProjectionTest::testBuildInsertSelectcallsResultProjectionTest::testBuildInsertSetSelectcallsResultProjectionTest::testBuildInsertSourceSelectCastsDestinationColumnscallsInsertTransformerTestcallsMySqlTransformerTestcallsReplaceTransformerTestcallsSelectTransformerTest::testTransformConstructorExplicitCastRenderercallsCteRowsTest::testEmptySelectcallsCteRowsTest::testFormatValuecallsCteRowsTest::testGenerateCtecallsCteRowsTest::testGenerateCteRejectsUnknownEmptyColumnscallsCteRowsTest::testWrapCtecallsUpdateTransformerTestcallsRowMutationResolverTestcallsMySqlMutationResolverTestcallsMySqlValueRendererTestcalls
Relations§
Instantiated in 3
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\InsertTransformer::__construct() packages/ztd-query-mysql/src/Rewrite/Transformer/InsertTransformer.php:44
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\SelectTransformer::__construct() packages/ztd-query-mysql/src/Rewrite/Transformer/SelectTransformer.php:44
- new ZtdQuery\Platform\MySql\Sql\Value\MySqlValueRenderer::__construct() packages/ztd-query-mysql/src/Sql/Value/MySqlValueRenderer.php:21