]> git.sur5r.net Git - bacula/bacula/commitdiff
Use JobTDate instead of StartTime, and sort by JobTDate instead of JobId
authorEric Bollengier <eric@eb.homelinux.org>
Fri, 19 Nov 2010 09:34:19 +0000 (10:34 +0100)
committerEric Bollengier <eric@eb.homelinux.org>
Thu, 25 Nov 2010 13:55:20 +0000 (14:55 +0100)
bacula/src/cats/sql_cmds.c
bacula/src/cats/sql_get.c

index b0070cc63f4f4ac2feb563d3bb04e6d11d4f4f21..3acb53b7e50d9b9115faf31b0854e946e62c328a 100644 (file)
@@ -292,7 +292,8 @@ const char *uar_jobid_fileindex_from_table =
  */
 const char *select_recent_version_with_basejob_default = 
 "SELECT FileId, Job.JobId AS JobId, FileIndex, File.PathId AS PathId, "
-       "File.FilenameId AS FilenameId, LStat, MD5, MarkId "
+       "File.FilenameId AS FilenameId, LStat, MD5, MarkId, "
+       "Job.JobTDate AS JobTDate"
 "FROM Job, File, ( "
     "SELECT MAX(JobTDate) AS JobTDate, PathId, FilenameId "
       "FROM ( "
@@ -321,7 +322,7 @@ const char *select_recent_version_with_basejob[5] = {
    select_recent_version_with_basejob_default,
 
   /* Postgresql */    /* The DISTINCT ON () permits to avoid extra join */
- "SELECT DISTINCT ON (FilenameId, PathId) StartTime, JobId, FileId, "
+ "SELECT DISTINCT ON (FilenameId, PathId) JobTDate, JobId, FileId, "
          "FileIndex, PathId, FilenameId, LStat, MD5, MarkId "
    "FROM "
      "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5, MarkId "
@@ -332,7 +333,7 @@ const char *select_recent_version_with_basejob[5] = {
          "FROM BaseFiles JOIN File USING (FileId) "
         "WHERE BaseFiles.JobId IN (%s) "
        ") AS T JOIN Job USING (JobId) "
-   "ORDER BY FilenameId, PathId, StartTime DESC ",
+   "ORDER BY FilenameId, PathId, JobTDate DESC ",
 
   /* SQLite */
    select_recent_version_with_basejob_default,
@@ -361,7 +362,8 @@ const char *select_recent_version_with_basejob[5] = {
  */
 const char *select_recent_version_with_basejob_and_delta_default = 
 "SELECT FileId, Job.JobId AS JobId, FileIndex, File.PathId AS PathId, "
-       "File.FilenameId AS FilenameId, LStat, MD5, MarkId "
+       "File.FilenameId AS FilenameId, LStat, MD5, MarkId, "
+       "Job.JobTDate AS JobTDate "
 "FROM Job, File, ( "
     "SELECT MAX(JobTDate) AS JobTDate, PathId, FilenameId, MarkId "
       "FROM ( "
@@ -419,7 +421,7 @@ const char *select_recent_version_with_basejob_and_delta[5] = {
 const char *select_recent_version_default = 
   "SELECT j1.JobId AS JobId, f1.FileId AS FileId, f1.FileIndex AS FileIndex, "
           "f1.PathId AS PathId, f1.FilenameId AS FilenameId, "
-          "f1.LStat AS LStat, f1.MD5 AS MD5 "
+          "f1.LStat AS LStat, f1.MD5 AS MD5, j1.JobTDate "
      "FROM ( "     /* Choose the last version for each Path/Filename */
        "SELECT max(JobTDate) AS JobTDate, PathId, FilenameId "
          "FROM File JOIN Job USING (JobId) "
index 069fb0b321cdb64182ea737f80ff0194624c4cd7..bd440dd350af4ffe9bc25057fede8260e0b403e7 100644 (file)
@@ -1116,8 +1116,8 @@ bool db_get_file_list(JCR *jcr, B_DB *mdb, char *jobids,
  "JOIN Filename ON (Filename.FilenameId = T1.FilenameId) "
  "JOIN Path ON (Path.PathId = T1.PathId) "
 "WHERE FileIndex > 0 "
-"ORDER BY T1.JobId, FileIndex ASC",/* Return sorted by JobId, */
-                                     /* FileIndex for restore code */ 
+"ORDER BY T1.JobTDate, FileIndex ASC",/* Return sorted by JobId, */
+                                      /* FileIndex for restore code */ 
         buf2.c_str());
    Dmsg1(100, "q=%s\n", buf.c_str());
 #else