private ValidTxnWriteIdList getQueryValidTxnWriteIdList() throws SemanticException {
    // TODO: Once HIVE-18948 is in, should be able to retrieve writeIdList from the conf.
    //cachedWriteIdList = AcidUtils.getValidTxnWriteIdList(conf);
    //
    List<String> transactionalTables = tablesFromReadEntities(inputs)
      .stream()
      .filter(AcidUtils::isTransactionalTable)
      .map(Table::getFullyQualifiedName)
      .collect(Collectors.toList());
    
    if (transactionalTables.size() > 0) {
      String txnString = queryState.getValidTxnList();
      if (txnString == null) {
        return null;
      }
      try {
        return getTxnMgr().getValidWriteIds(transactionalTables, txnString);
      } catch (Exception err) {
        String msg = "Error while getting the txnWriteIdList for tables " + transactionalTables
                + " and validTxnList " + conf.get(ValidTxnList.VALID_TXNS_KEY);
        throw new SemanticException(msg, err);
      }
    }

    // No transactional tables.
    return null;
  }
Generate the query string for this query (with fully resolved table references).
@return The query string with resolved references. NULL if an error occurred.
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java