private boolean allTablesHasAppendsOnly(MaterializedViewMetadata metadata) throws HiveException {
    MaterializationSnapshot mvSnapshot = MaterializationSnapshot.fromJson(metadata.creationMetadata.getValidTxnList());
    for (SourceTable sourceTable : metadata.getSourceTables()) {
      Table table = getTable(sourceTable.getTable().getDbName(), sourceTable.getTable().getTableName());
      HiveStorageHandler storageHandler = table.getStorageHandler();
      // Currently mixing native and non-native source tables are not supported.
      if (!(storageHandler != null &&
          storageHandler.areSnapshotsSupported() &&
          tableHasAppendsOnly(storageHandler, table, mvSnapshot))) {
        return false;
      }
    }

    return true;
  }
Validate that the materialized views retrieved from registry are still up-to-date.
For those that are not, the method loads them from the metastore into the registry.

@return true if they are up-to-date, otherwise false
@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java