@VisibleForTesting
  public static void initDirCache(int durationInMts) {
    if (dirCacheInited.get()) {
      LOG.debug("DirCache got initialized already");
      return;
    }
    dirCache = CacheBuilder.newBuilder()
        .expireAfterWrite(durationInMts, TimeUnit.MINUTES)
        .softValues()
        .build();
    dirCacheInited.set(true);
  }
Determines transaction type based on query AST.
@param tree AST
ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java