# DISTINCT ON keeps a single visible entry per filename. The ORDER BY must keep
# the newest job first so .bvfs_lsfiles exposes the latest version.
# Keep the FileIndex filter outside the subquery: filtering before DISTINCT ON
# could expose an older file when the latest entry is a directory.
SELECT TYPE,
       PathId,
       Name,
       JobId,
       LStat,
       FileId
FROM (
   SELECT DISTINCT ON (File.Name) 'F' AS TYPE,
                                  File.PathId,
                                  File.Name,
                                  File.JobId,
                                  File.LStat,
                                  File.FileId,
                                  File.FileIndex
   FROM File
   JOIN Job USING (JobId)
   WHERE
      File.JobId IN (%s)
      AND File.PathId = %s
      AND File.Name != ''
      %s
   ORDER BY File.Name,
            Job.JobTDate DESC,
            Job.JobId DESC
) AS A
WHERE A.FileIndex > 0
LIMIT %)SQL" PRId64 R"SQL(
OFFSET %)SQL" PRId64 R"SQL(
