@Override
  public boolean canComputeQueryUsingStats(Partish partish) {
    org.apache.hadoop.hive.ql.metadata.Table hmsTable = partish.getTable();
    if (hmsTable.getMetaTable() != null) {
      return false;
    }
    if (!getStatsSource().equals(HiveMetaHook.ICEBERG) && StatsSetupConst.areBasicStatsUptoDate(
          partish.getPartParameters())) {
      return true;
    }
    Table table = getTable(hmsTable);
    Snapshot snapshot = IcebergTableUtil.getTableSnapshot(table, hmsTable);
    if (snapshot != null) {
      Map<String, String> summary = getPartishSummary(partish, table, snapshot);
      if (summary != null && summary.containsKey(TOTAL_EQ_DELETES_PROP) &&
          summary.containsKey(TOTAL_POS_DELETES_PROP)) {

        long totalEqDeletes = Long.parseLong(summary.get(TOTAL_EQ_DELETES_PROP));
        long totalPosDeletes = Long.parseLong(summary.get(TOTAL_POS_DELETES_PROP));
        return totalEqDeletes + totalPosDeletes == 0;
      }
    }
    return false;
  }
@param jobConf Job configuration for InputFormat to access
@param deserializer Deserializer
@param exprNodeDesc Filter expression extracted by Hive
@return Entire filter to take advantage of Hive's pruning as well as Iceberg's pruning.
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java