private Map<Integer, Timestamp> fetchCurrentUserCreateTimesNotYetMigrated(String temporaryColumnName) throws SQLException {
    final Map<Integer, Timestamp> currentUserCreateTimes = new HashMap<>();
    try (
        PreparedStatement pstmt = dbAccessor.getConnection().prepareStatement("SELECT " + USERS_USER_ID_COLUMN + ", " + USERS_CREATE_TIME_COLUMN + " FROM " + USERS_TABLE + " WHERE " + temporaryColumnName + " IS NULL ORDER BY " + USERS_USER_ID_COLUMN);
        ResultSet rs = pstmt.executeQuery()) {
      while (rs.next()) {
        currentUserCreateTimes.put(rs.getInt(1), rs.getTimestamp(2) == null ? new Timestamp(System.currentTimeMillis()) : rs.getTimestamp(2));
      }
    }
    return currentUserCreateTimes;
  }
In order to save the epoch equivalent of users.create_time we need to convert data in this column as follows:
<ol>
<li>creating a temporary column where we store the numeric representation of
the timestamp
<li>populating data in the temporary column
<li>removing original column column
<li>renaming the temporary column to the original column
</ol>

@throws SQLException
          if an error occurs while executing SQL statements
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java