using(varrd=cmd.ExecuteReader(string.Format(@"SELECT ""B"".""Name"" FROM ""Fileset"" A, ""RemoteVolume"" B WHERE ""A"".""VolumeID"" = ""B"".""ID"" AND ""A"".""ID"" = ? "),id))
if(!rd.Read())
thrownewException(string.Format("No remote volume found for fileset with id {0}",id));
cmd.ExecuteNonQuery(string.Format(@"CREATE TEMPORARY TABLE ""{0}"" (""Path"" TEXT NOT NULL) ",filenamestable));
cmd.CommandText=string.Format(@"INSERT INTO ""{0}"" (""Path"") VALUES (?)",filenamestable);
cmd.AddParameter();
foreach(varsinp)
{
cmd.SetParameterValue(0,s);
cmd.ExecuteNonQuery();
}
cmd.ExecuteNonQuery(string.Format(@"INSERT INTO ""{0}"" (""FileID"") SELECT DISTINCT ""A"".""FileID"" FROM ""FilesetEntry"" A, ""File"" B WHERE ""A"".""FilesetID"" = ? AND ""A"".""FileID"" = ""B"".""ID"" AND ""B"".""Path"" NOT IN ""{1}""",m_tablename,filenamestable),ParentID);
cmd.ExecuteNonQuery(string.Format(@"DROP TABLE IF EXISTS ""{0}"" ",filenamestable));
cmd2.CommandText=string.Format(@"INSERT INTO ""{0}"" (""FileID"") VALUES (?)",m_tablename);
cmd2.AddParameters(1);
using(varrd=cmd.ExecuteReader(@"SELECT ""B"".""Path"", ""A"".""FileID"" FROM ""FilesetEntry"" A, ""File"" B WHERE ""A"".""FilesetID"" = ? AND ""A"".""FileID"" = ""B"".""ID"" ",ParentID))
RemovedFileCount=cmd.ExecuteScalarInt64(string.Format(@"SELECT COUNT(*) FROM ""{0}""",m_tablename),0);
RemovedFileSize=cmd.ExecuteScalarInt64(string.Format(@"SELECT SUM(""C"".""Length"") FROM ""{0}"" A, ""File"" B, ""Blockset"" C WHERE ""A"".""FileID"" = ""B"".""ID"" AND ""B"".""BlocksetID"" = ""C"".""ID"" ",m_tablename),0);
varfilesetcount=cmd.ExecuteScalarInt64(string.Format(@"SELECT COUNT(*) FROM ""FilesetEntry"" WHERE ""FilesetID"" = "+ParentID),0);
thrownewDuplicati.Library.Interface.UserInformationException(string.Format("Refusing to purge {0} files from fileset with ID {1}, as that would remove the entire fileset.\nTo delete a fileset, use the \"delete\" command.",RemovedFileCount,ParentID),"PurgeWouldRemoveEntireFileset");
cmd.ExecuteNonQuery(string.Format(@"INSERT INTO ""FilesetEntry"" (""FilesetID"", ""FileID"", ""Lastmodified"") SELECT ?, ""FileID"", ""LastModified"" FROM ""FilesetEntry"" WHERE ""FilesetID"" = ? AND ""FileID"" NOT IN ""{0}"" ",m_tablename),filesetid,ParentID);
using(varrd=cmd.ExecuteReader(string.Format(@"SELECT ""B"".""Path"", ""C"".""Length"" FROM ""{0}"" A, ""File"" B, ""Blockset"" C WHERE ""A"".""FileID"" = ""B"".""ID"" AND ""B"".""BlocksetID"" = ""C"".""ID"" ",m_tablename)))