"SELECT 'F', T.PathId, T.Filename, "
"File.JobId, File.LStat, File.FileId "
"FROM Job, File, ( "
- "SELECT MAX(JobTDate) AS JobTDate, PathId, Filename "
+ "SELECT MAX(JobTDate) AS JobTDate, MAX(DeltaSeq), PathId, Filename "
"FROM ( "
- "SELECT JobTDate, PathId, Filename "
+ "SELECT JobTDate, PathId, Filename, DeltaSeq "
"FROM File JOIN Job USING (JobId) "
"WHERE File.JobId IN (%s) AND PathId = %s "
"UNION ALL "
- "SELECT JobTDate, PathId, Filename "
+ "SELECT JobTDate, PathId, Filename, DeltaSeq "
"FROM BaseFiles "
"JOIN File USING (FileId) "
"JOIN Job ON (BaseJobId = Job.JobId) "
") AS tmp GROUP BY PathId, Filename "
") AS T "
"WHERE T.JobTDate = Job.JobTDate "
+ "AND T.DeltaSeq = File.DeltaSeq "
"AND Job.JobId = File.JobId "
"AND T.PathId = File.PathId "
"AND T.Filename = File.Filename "
"SELECT DISTINCT ON (Filename) 'F' as Type, PathId, FileId, "
"T.Filename, JobId, LStat, FileIndex "
"FROM "
- "(SELECT FileId, JobId, PathId, Filename, FileIndex, LStat, MD5 "
+ "(SELECT FileId, JobId, PathId, Filename, FileIndex, LStat, MD5, DeltaSeq "
"FROM File WHERE JobId IN (%s) AND PathId = %s "
"UNION ALL "
"SELECT File.FileId, File.JobId, PathId, Filename, "
- "File.FileIndex, LStat, MD5 "
+ "File.FileIndex, LStat, MD5, DeltaSeq "
"FROM BaseFiles JOIN File USING (FileId) "
"WHERE BaseFiles.JobId IN (%s) AND File.PathId = %s "
") AS T JOIN Job USING (JobId) "
" WHERE T.Filename != '' "
" %s " /* AND Filename LIKE '' */
- "ORDER BY Filename, StartTime DESC "
+ "ORDER BY Filename, DeltaSeq DESC, StartTime DESC "
") AS A WHERE A.FileIndex > 0 "
"LIMIT %lld OFFSET %lld ",