public List<DatasetVersionRecord> listValidDatasetVersionsByListStatement(short accountId, short containerId,
      String datasetName, Dataset.VersionSchema versionSchema) throws SQLException {
    try {
      long startTimeMs = System.currentTimeMillis();
      PreparedStatement listValidDatasetVersionsByListSchemaStatement =
          dataAccessor.getPreparedStatement(listValidDatasetVersionsByListSql, true);
      List<DatasetVersionRecord> results =
          executeListValidDatasetVersionsByListStatement(listValidDatasetVersionsByListSchemaStatement, accountId,
              containerId, datasetName, versionSchema);
      dataAccessor.onSuccess(Read, System.currentTimeMillis() - startTimeMs);
      return results;
    } catch (SQLException e) {
      dataAccessor.onException(e, Read);
      throw e;
    }
  }
List all valid version records.
@param accountId the id for the parent account.
@param containerId the id of the container.
@param datasetName the name of the dataset.
@param versionSchema the version schema of the dataset.
@return a list of all dataset versions.
@throws SQLException
ambry-account/src/main/java/com/github/ambry/account/mysql/DatasetDao.java