]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/sql_cmds.c
New tree commands lsmark+estimate
[bacula/bacula] / bacula / src / dird / sql_cmds.c
index 6f78624a1358142b7a1ab715087724254a60bcc1..fff2d675da25008768f6610d024de98b38ba1d46 100644 (file)
@@ -85,12 +85,14 @@ char *insert_delcand =
 /* Select Jobs from the DelCandidates table that have a
  * more recent backup -- i.e. are not the only backup.
  * This is the list of Jobs to delete for a Backup Job.
+ * At the same time, we select "orphanned" jobs
+ * (i.e. no files, ...) for deletion.
  */
 char *select_backup_del =
    "SELECT DelCandidates.JobId "
    "FROM Job,DelCandidates "
-   "WHERE (DelCandidates.JobFiles=0) OR "
-   "(DelCandidates.JobStatus!='T') OR "
+   "WHERE (JobTDate<%s AND ((DelCandidates.JobFiles=0) OR "
+   "(DelCandidates.JobStatus!='T'))) OR "
    "(Job.JobTDate>%s "
    "AND Job.ClientId=%u "
    "AND Job.Type='B' "
@@ -211,7 +213,7 @@ char *uar_inc_dec =
    "Job.Level,Job.JobFiles,Job.StartTime,Media.VolumeName,JobMedia.StartFile,"
    "Job.VolSessionId,Job.VolSessionTime "
    "FROM Job,JobMedia,Media "
-   "WHERE Job.JobTDate>%s AND Job.StartTime < '%s' "
+   "WHERE Job.JobTDate>%s AND Job.StartTime<'%s' "
    "AND Job.ClientId=%u "
    "AND JobMedia.JobId=Job.JobId "
    "AND JobMedia.MediaId=Media.MediaId "
@@ -221,7 +223,9 @@ char *uar_inc_dec =
 
 char *uar_list_temp = 
    "SELECT JobId,Level,JobFiles,StartTime,VolumeName,StartFile,"
-   "VolSessionId,VolSessionTime FROM temp";
+   "VolSessionId,VolSessionTime FROM temp "
+   "GROUP by JobId ORDER BY StartTime ASC";
+
 
 char *uar_sel_jobid_temp = "SELECT JobId FROM temp";
 
@@ -232,9 +236,22 @@ char *uar_sel_fileset =
    "SELECT FileSet.FileSetId,FileSet.FileSet,FileSet.CreateTime FROM Job,"
    "Client,FileSet WHERE Job.FileSetId=FileSet.FileSetId "
    "AND Job.ClientId=%u AND Client.ClientId=%u "
-   "GROUP BY FileSet.FileSetId ORDER BY FileSet.FileSetId";
+   "GROUP BY FileSet.FileSetId ORDER BY FileSet.CreateTime";
 
 /* Find MediaType used by this Job */
 char *uar_mediatype =
    "SELECT MediaType FROM JobMedia,Media WHERE JobMedia.JobId=%u "
    "AND JobMedia.MediaId=Media.MediaId";
+
+/* Find JobId, FileIndex for a given path/file and date */
+char *uar_jobid_fileindex = 
+   "SELECT Job.JobId, File.FileIndex FROM Job,File,Path,Filename,Client "
+   "WHERE Job.JobId=File.JobId "
+   "AND Job.StartTime<'%s' "
+   "AND Path.Path='%s' "
+   "AND Filename.Name='%s' "
+   "AND Client.Name='%s' "
+   "AND Path.PathId=File.PathId "
+   "AND Filename.FilenameId=File.FilenameId "
+   "ORDER BY Job.StartTime DESC LIMIT 1";
+