hive-protolib/src/main/java/com/streamsets/pipeline/stage/lib/hive/HiveMetastoreUtil.java
private static int resolveScaleOrPrecisionExpression(
      String type,
      ELEval elEval,
      ELVars variables,
      String defaultScaleEL,
      String fieldPath
  ) throws ELEvalException, HiveStageCheckedException {
    // By default we take the constant given to this method
    String value = defaultScaleEL;
    // And if so evaluate it
    if (elEval != null) {
      value = elEval.eval(
          variables,
          defaultScaleEL,
          String.class
      );
    }

    // Finally try to parse output as an integer. Failure means that we are unable to calculate proper scale/precision.
    try {
      return Integer.parseInt(value);
    } catch(NumberFormatException e) {
      throw new HiveStageCheckedException(Errors.HIVE_29, type, fieldPath, defaultScaleEL, value, e);
    }
  }
private static int resolveScaleOrPrecisionExpression(
      String type,
      ELEval elEval,
      ELVars variables,
      String defaultScaleEL,
      String fieldPath
  ) throws ELEvalException, HiveStageCheckedException {
    // By default we take the constant given to this method
    String value = defaultScaleEL;
    // And if so evaluate it
    if (elEval != null) {
      value = elEval.eval(
          variables,
          defaultScaleEL,
          String.class
      );
    }

    // Finally try to parse output as an integer. Failure means that we are unable to calculate proper scale/precision.
    try {
      return Integer.parseInt(value);
    } catch(NumberFormatException e) {
      throw new HiveStageCheckedException(Errors.HIVE_29, type, fieldPath, defaultScaleEL, value, e);
    }
  }
private static int resolveScaleOrPrecisionExpression ( String type , ELEval elEval , ELVars variables , String defaultScaleEL , String fieldPath ) throws ELEvalException , HiveStageCheckedException { // By default we take the constant given to this method String value = defaultScaleEL ; // And if so evaluate it if ( elEval != null ) { value = elEval . eval ( variables , defaultScaleEL , String . class ) ; } // Finally try to parse output as an integer. Failure means that we are unable to calculate proper scale/precision. try { return Integer . parseInt ( value ) ; } catch ( NumberFormatException e ) { throw new HiveStageCheckedException ( Errors . HIVE_29 , type , fieldPath , defaultScaleEL , value , e ) ; } }
Evaluate precision or scale in context of record and given field path.
Evaluate precision or scale in context of record and given field path .