public static String checkAndReturnSingleMeasurement(String measurement)
      throws IllegalPathException {
    if (measurement == null) {
      return null;
    }
    if (measurement.startsWith(TsFileConstant.BACK_QUOTE_STRING)
        && measurement.endsWith(TsFileConstant.BACK_QUOTE_STRING)) {
      if (checkBackQuotes(measurement.substring(1, measurement.length() - 1))) {
        return removeBackQuotesIfNecessary(measurement);
      } else {
        throw new IllegalPathException(measurement);
      }
    }
    if (IoTDBConstant.reservedWords.contains(measurement.toUpperCase())
        || isRealNumber(measurement)
        || !TsFileConstant.NODE_NAME_PATTERN.matcher(measurement).matches()) {
      throw new IllegalPathException(measurement);
    }
    return measurement;
  }
check a measurement and update it if needed to. for example: `sd` -> sd
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/PathUtils.java