private static DeviceEntry constructDeviceEntry(
      IDeviceID deviceID, Binary[] attributeColumnValues, int ordinal) {
    switch (DeviceEntryType.values()[ordinal]) {
      case ALIGNED:
        return new AlignedDeviceEntry(deviceID, attributeColumnValues);
      case NON_ALIGNED:
        return new NonAlignedDeviceEntry(deviceID, attributeColumnValues);
      default:
        throw new UnsupportedOperationException(
            "Unknown AlignedDeviceEntry Type: " + DeviceEntryType.values()[ordinal]);
    }
  }
The {@link DeviceEntry} shall have {@code null} suffix in its {@link IDeviceID}, e.g. "a.b.null".
However, in other places related to {@link TableDeviceSchemaCache} or {@link ISchemaRegion}, the
{@code null}s are trimmed thus will not appear in the {@link IDeviceID}, and it will be like
"a.b".
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/DeviceEntry.java