Details
Description
When CalculatorMetaFunction was refactored as part of PDI-10968, the return type of GetOnlyDigit was changed to a default of TYPE_INTEGER. The function is returning a string. This causes problems when null values are passed through the step.
diff --git a/engine/src/org/pentaho/di/trans/steps/calculator/CalculatorMetaFunction.java b/engine/src/org/pentaho/di/trans/steps/calculator/CalculatorMetaFunction.java
index bbb12c2..7cdd7a3 100644
— a/engine/src/org/pentaho/di/trans/steps/calculator/CalculatorMetaFunction.java
+++ b/engine/src/org/pentaho/di/trans/steps/calculator/CalculatorMetaFunction.java
@@ -327,7 +327,7 @@
// REMOVE TAB FROM string A
calcDefaultResultType[CalculatorMetaFunction.CALC_REMOVE_TAB] = ValueMetaInterface.TYPE_STRING;
// GET ONLY DIGITS FROM string A
- calcDefaultResultType[CalculatorMetaFunction.CALC_GET_ONLY_DIGITS] = ValueMetaInterface.TYPE_INTEGER;
+ calcDefaultResultType[CalculatorMetaFunction.CALC_GET_ONLY_DIGITS] = ValueMetaInterface.TYPE_STRING;
// REMOVE DIGITS FROM string A
calcDefaultResultType[CalculatorMetaFunction.CALC_REMOVE_DIGITS] = ValueMetaInterface.TYPE_STRING;
// LENGTH OF string A