*/
/*
- Copyright (C) 2002-2003 Kern Sibbald and John Walker
+ Copyright (C) 2002-2004 Kern Sibbald and John Walker
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
#endif
+/*
+ * Find all files for a particular JobId and insert them into
+ * the tree during a restore.
+ */
char *uar_sel_files =
- "SELECT Path.Path,Filename.Name,FileIndex,JobId "
+ "SELECT Path.Path,Filename.Name,FileIndex,JobId,LStat "
"FROM File,Filename,Path "
- "WHERE File.JobId=%d AND Filename.FilenameId=File.FilenameId "
+ "WHERE File.JobId=%u AND Filename.FilenameId=File.FilenameId "
"AND Path.PathId=File.PathId";
char *uar_del_temp = "DROP TABLE temp";
char *uar_last_full =
"INSERT INTO temp1 SELECT Job.JobId,JobTdate "
- "FROM Client,Job,JobMedia,Media WHERE Client.ClientId=%u "
+ "FROM Client,Job,JobMedia,Media,FileSet WHERE Client.ClientId=%u "
"AND Job.ClientId=%u "
"AND Job.StartTime<'%s' "
"AND Level='F' AND JobStatus='T' "
"AND JobMedia.JobId=Job.JobId "
"AND JobMedia.MediaId=Media.MediaId "
- "AND Job.FileSetId=%u "
+ "AND Job.FileSetId=FileSet.FileSetId "
+ "AND FileSet.FileSet='%s' "
+ "%s"
"ORDER BY Job.JobTDate DESC LIMIT 1";
char *uar_full =
"AND JobMedia.JobId=Job.JobId "
"AND JobMedia.MediaId=Media.MediaId";
-char *uar_inc_dec =
+char *uar_dif =
"INSERT INTO temp SELECT Job.JobId,Job.JobTDate,Job.ClientId,"
"Job.Level,Job.JobFiles,Job.StartTime,Media.VolumeName,JobMedia.StartFile,"
"Job.VolSessionId,Job.VolSessionTime "
- "FROM Job,JobMedia,Media "
+ "FROM Job,JobMedia,Media,FileSet "
"WHERE Job.JobTDate>%s AND Job.StartTime<'%s' "
"AND Job.ClientId=%u "
"AND JobMedia.JobId=Job.JobId "
"AND JobMedia.MediaId=Media.MediaId "
- "AND Job.Level IN ('I', 'D') AND JobStatus='T' "
- "AND Job.FileSetId=%u ";
+ "AND Job.Level='D' AND JobStatus='T' "
+ "AND Job.FileSetId=FileSet.FileSetId "
+ "AND FileSet.FileSet='%s' "
+ "%s"
+ "ORDER BY Job.JobTDate DESC LIMIT 1";
+
+char *uar_inc =
+ "INSERT INTO temp SELECT Job.JobId,Job.JobTDate,Job.ClientId,"
+ "Job.Level,Job.JobFiles,Job.StartTime,Media.VolumeName,JobMedia.StartFile,"
+ "Job.VolSessionId,Job.VolSessionTime "
+ "FROM Job,JobMedia,Media,FileSet "
+ "WHERE Job.JobTDate>%s AND Job.StartTime<'%s' "
+ "AND Job.ClientId=%u "
+ "AND JobMedia.JobId=Job.JobId "
+ "AND JobMedia.MediaId=Media.MediaId "
+ "AND Job.Level='I' AND JobStatus='T' "
+ "AND Job.FileSetId=FileSet.FileSetId "
+ "AND FileSet.FileSet='%s' "
+ "%s";
char *uar_list_temp =
"SELECT JobId,Level,JobFiles,StartTime,VolumeName,StartFile,"
"ORDER BY StartTime ASC";
-char *uar_sel_jobid_temp = "SELECT JobId FROM temp";
+char *uar_sel_jobid_temp = "SELECT JobId FROM temp ORDER BY StartTime ASC";
char *uar_sel_all_temp1 = "SELECT * FROM temp1";
-/* Select filesets for this Client */
+char *uar_sel_all_temp = "SELECT * FROM temp";
+
+
+
+/* Select FileSet names for this Client */
char *uar_sel_fileset =
- "SELECT DISTINCT FileSet.FileSetId,FileSet.FileSet,FileSet.CreateTime FROM Job,"
+ "SELECT DISTINCT FileSet.FileSet FROM Job,"
"Client,FileSet WHERE Job.FileSetId=FileSet.FileSetId "
"AND Job.ClientId=%u AND Client.ClientId=%u "
- "ORDER BY FileSet.CreateTime";
+ "ORDER BY FileSet.FileSet";
/* 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 */
+/*
+ * Find JobId, FileIndex for a given path/file and date
+ * for use when inserting individual files into the tree.
+ */
char *uar_jobid_fileindex =
"SELECT Job.JobId, File.FileIndex FROM Job,File,Path,Filename,Client "
"WHERE Job.JobId=File.JobId "
"AND Path.Path='%s' "
"AND Filename.Name='%s' "
"AND Client.Name='%s' "
+ "AND Job.ClientId=Client.ClientId "
"AND Path.PathId=File.PathId "
"AND Filename.FilenameId=File.FilenameId "
"ORDER BY Job.StartTime DESC LIMIT 1";