public List<Integer> computeWithoutTemplate(final ISchemaComputation schemaComputation) {
    final List<Integer> indexOfMissingMeasurements = new ArrayList<>();
    final String[] measurements = schemaComputation.getMeasurements();

    final IDeviceSchema schema =
        tableDeviceSchemaCache.getDeviceSchema(schemaComputation.getDevicePath().getNodes());
    if (!(schema instanceof TreeDeviceNormalSchema)) {
      return IntStream.range(0, schemaComputation.getMeasurements().length)
          .boxed()
          .collect(Collectors.toList());
    }
    final TreeDeviceNormalSchema treeSchema = (TreeDeviceNormalSchema) schema;

    for (int i = 0; i < schemaComputation.getMeasurements().length; i++) {
      final SchemaCacheEntry value = treeSchema.getSchemaCacheEntry(measurements[i]);
      if (value == null) {
        indexOfMissingMeasurements.add(i);
      } else {
        schemaComputation.computeMeasurement(i, value);
      }
    }
    schemaComputation.computeDevice(treeSchema.isAligned());
    schemaComputation.recordRangeOfLogicalViewSchemaListNow();
    return indexOfMissingMeasurements;
  }
Get schema info under the given full path that must not be a template series.

@param fullPath full path
@return empty if cache miss
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TreeDeviceSchemaCacheManager.java