@Override public RelWriter explainTerms(RelWriter pw) {
    return super.explainTerms(pw)
      .itemIf("qbid:alias", concatQbIDAlias, this.useQBIdInDigest)
      .itemIf("htColumns", this.neededColIndxsFrmReloptHT, pw.getDetailLevel() == SqlExplainLevel.DIGEST_ATTRIBUTES)
      .itemIf("insideView", this.isInsideView(), pw.getDetailLevel() == SqlExplainLevel.DIGEST_ATTRIBUTES)
      .itemIf("plKey", ((RelOptHiveTable) table).getPartitionListKey(), pw.getDetailLevel() == SqlExplainLevel.DIGEST_ATTRIBUTES)
      .itemIf("table:alias", tblAlias, !this.useQBIdInDigest)
      .itemIf("tableScanTrait", this.tableScanTrait,
          pw.getDetailLevel() == SqlExplainLevel.DIGEST_ATTRIBUTES)
      .itemIf("fromVersion", ((RelOptHiveTable) table).getHiveTableMD().getVersionIntervalFrom(),
          isNotBlank(((RelOptHiveTable) table).getHiveTableMD().getVersionIntervalFrom()));
  }
Copy TableScan operator with a new Row Schema. The new Row Schema can only
be a subset of this TS schema. Copies underlying RelOptHiveTable object
too.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveTableScan.java