]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix for sqlite, now it works
authorEric Bollengier <eric@eb.homelinux.org>
Thu, 17 Sep 2009 14:27:21 +0000 (16:27 +0200)
committerEric Bollengier <eric@eb.homelinux.org>
Thu, 17 Sep 2009 14:27:21 +0000 (16:27 +0200)
bacula/src/cats/sql_cmds.c
bacula/src/cats/sql_get.c
regress/tests/base-job-test

index 41520c9e7e1e1ebba05f2be41d0a2fa5a66645be..5017e878cad72e1fb183b3c93ad7b63fd02c27f0 100644 (file)
@@ -481,10 +481,10 @@ const char *select_recent_version_with_basejob[4] = {
 "WHERE (Job.JobId IN ( "
         "SELECT DISTINCT BaseJobId FROM BaseFiles WHERE JobId IN (%s)) "
         "OR Job.JobId IN (%s)) "
+  "AND T1.JobTDate = Job.JobTDate "
   "AND Job.JobId = File.JobId "
-  "AND Job.JobTDate = T1.JobTDate "
-  "AND File.PathId = T1.PathId "
-  "AND File.FilenameId = T1.PathId "
+  "AND T1.PathId = File.PathId "
+  "AND T1.FilenameId = File.FilenameId",
 
   /* Postgresql */    /* The DISTINCT ON () permits to avoid extra join */
  "SELECT DISTINCT ON (FilenameId, PathId) StartTime, JobId, FileId, "
@@ -520,10 +520,10 @@ const char *select_recent_version_with_basejob[4] = {
 "WHERE (Job.JobId IN ( "
        "SELECT DISTINCT BaseJobId FROM BaseFiles WHERE JobId IN (%s)) "
        "OR Job.JobId IN (%s)) "
+  "AND T1.JobTDate = Job.JobTDate "
   "AND Job.JobId = File.JobId "
-  "AND Job.JobTDate = T1.JobTDate "
-  "AND File.PathId = T1.PathId "
-  "AND File.FilenameId = T1.PathId ",
+  "AND T1.PathId = File.PathId "
+  "AND T1.FilenameId = File.FilenameId",
 
  /* SQLite3 */              /* See Mysql section for doc */
 "SELECT FileId, Job.JobId AS JobId, FileIndex, File.PathId AS PathId, "
@@ -545,10 +545,10 @@ const char *select_recent_version_with_basejob[4] = {
 "WHERE (Job.JobId IN ( "
          "SELECT DISTINCT BaseJobId FROM BaseFiles WHERE JobId IN (%s)) "
         "OR Job.JobId IN (%s)) "
+  "AND T1.JobTDate = Job.JobTDate "
   "AND Job.JobId = File.JobId "
-  "AND Job.JobTDate = T1.JobTDate "
-  "AND File.PathId = T1.PathId "
-  "AND File.FilenameId = T1.PathId "
+  "AND T1.PathId = File.PathId "
+  "AND T1.FilenameId = File.FilenameId"
 };
 
 /* Get the list of the last recent version with a given BaseJob jobid list */
index 1e5b569a15790724f687dad8e617a08b0937e111..b192eb9cf6aec80e1e6d1aeda6400d91f6d38f1d 100644 (file)
@@ -1068,8 +1068,10 @@ bool db_get_file_list(JCR *jcr, B_DB *mdb, char *jobids,
 #define new_db_get_file_list
 #ifdef new_db_get_file_list
    POOL_MEM buf2(PM_MESSAGE);
+   Dmsg1(0, "sql=%s\n", select_recent_version_with_basejob[db_type]);
    Mmsg(buf2, select_recent_version_with_basejob[db_type], 
-        jobids, jobids, jobids);
+        jobids, jobids, jobids, jobids);
+   Dmsg1(0, "sql=%s\n", buf2.c_str());
    Mmsg(buf,
 "SELECT Path.Path, Filename.Name, Temp.FileIndex, Temp.JobId, LStat, MD5 "
  "FROM ( %s ) AS Temp "
index e553749143fa5cbed38125f2f26e70eef93eb847..1882e66107cb4b1feef8cd2803689658ac517602 100755 (executable)
@@ -107,8 +107,6 @@ if [ $? -ne 0 ]; then
     bstat=2
 fi
 
-ls -l ${cwd}/tmp/bacula-restores/tmp/regress/build/accurate/
-
 ################################################################
 p Now do a backup after making few changes
 ################################################################
@@ -140,10 +138,6 @@ check_two_logs
 check_restore_diff
 check_files_written ${cwd}/tmp/log1.out 4
 
-ls -l ${cwd}/tmp/bacula-restores/tmp/regress/build/accurate/
-
-exit 0
-
 rm -rf ${cwd}/tmp/bacula-restores
 
 ################################################################