From 6be7ba09a5def2f2b97d4dc85d49f22bbf227ddf Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Fri, 18 Jan 2019 14:41:00 +0100 Subject: [PATCH] libfic: fix wipefiles: it didn't delete its dependencies --- libfic/file.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libfic/file.go b/libfic/file.go index 472b9e3f..59d150f1 100644 --- a/libfic/file.go +++ b/libfic/file.go @@ -246,7 +246,9 @@ func (f EFile) Delete() (int64, error) { // WipeFiles deletes (only in the database, not on disk) files coming with the challenge. func (e Exercice) WipeFiles() (int64, error) { - if res, err := DBExec("DELETE FROM exercice_files WHERE id_exercice = ?", e.Id); err != nil { + if _, err := DBExec("DELETE FROM exercice_files_deps WHERE id_flag IN (SELECT id_flag FROM exercice_flags WHERE id_exercice = ?)", e.Id); err != nil { + return 0, err + } else if res, err := DBExec("DELETE FROM exercice_files WHERE id_exercice = ?", e.Id); err != nil { return 0, err } else if nb, err := res.RowsAffected(); err != nil { return 0, err