{"record":{"id":"20376d92867781cb","repo":"pentaho/pentaho-kettle","slug":"we-can-t-convert-original-data-type-to-a-primitive-data-type","errorCode":null,"errorMessage":" : We can't convert original data type  to a primitive data type","messagePattern":" : We can't convert original data type  to a primitive data type","errorType":"exception","errorClass":"KettleValueException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java","lineNumber":4299,"sourceCode":"    //\n\n    switch ( getType() ) {\n      case ValueMetaInterface.TYPE_STRING:\n        return value.getString();\n      case ValueMetaInterface.TYPE_NUMBER:\n        return value.getNumber();\n      case ValueMetaInterface.TYPE_INTEGER:\n        return value.getInteger();\n      case ValueMetaInterface.TYPE_DATE:\n        return value.getDate();\n      case ValueMetaInterface.TYPE_BOOLEAN:\n        return value.getBoolean();\n      case ValueMetaInterface.TYPE_BIGNUMBER:\n        return value.getBigNumber();\n      case ValueMetaInterface.TYPE_BINARY:\n        return value.getBytes();\n      default:\n        throw new KettleValueException( toString() + \" : We can't convert original data type \" + value.getTypeDesc()\n            + \" to a primitive data type\" );\n    }\n  }\n\n  /**\n   * @return the storageMetadata\n   */\n  @Override\n  public ValueMetaInterface getStorageMetadata() {\n    return storageMetadata;\n  }\n\n  /**\n   * @param storageMetadata\n   *          the storageMetadata to set\n   */\n  @Override\n  public void setStorageMetadata( ValueMetaInterface storageMetadata ) {","sourceCodeStart":4281,"sourceCodeEnd":4317,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java#L4281-L4317","documentation":"Default-branch sentinel in ValueMetaBase.getPrimitiveValue(): the legacy Value's type cannot be mapped back to a primitive object because it matched none of the known type cases in the switch. The input at fault is the legacy value with an unsupported/unknown type.","triggerScenarios":"Thrown at core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java:4299 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Convert the legacy Value to one of the supported types before extraction","Upgrade the code path to use ValueMetaInterface-based access instead of legacy V2 Values"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}