public List<VirtualColumn> getVirtualColumns() {
    List<VirtualColumn> virtualColumns = new ArrayList<>();
    if (!isNonNative()) {
      virtualColumns.addAll(VirtualColumn.getRegistry());
    }
    if (isNonNative() && AcidUtils.isNonNativeAcidTable(this)) {
      virtualColumns.addAll(getStorageHandler().acidVirtualColumns());
    }
    if (isNonNative() && getStorageHandler().areSnapshotsSupported() &&
        isBlank(getMetaTable())) {
      virtualColumns.add(VirtualColumn.SNAPSHOT_ID);
    }
    
    return virtualColumns;
  }
This method ignores the write Id, while comparing two tables.

@param tbl table to compare with
@return
ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java