From 57db70affbf247b50f0ca4f53c7bca444bece37b Mon Sep 17 00:00:00 2001
From: pichetp <pichetp>
Date: Thu, 4 Dec 2008 15:56:01 +0000
Subject: [PATCH] MDL-17524 Deleting a calculated question delete
 datasetdefinitions shared by other question

---
 question/type/calculated/questiontype.php | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/question/type/calculated/questiontype.php b/question/type/calculated/questiontype.php
index 72333f7a3e..685b9492c2 100644
--- a/question/type/calculated/questiontype.php
+++ b/question/type/calculated/questiontype.php
@@ -632,6 +632,10 @@ class question_calculated_qtype extends default_questiontype {
         $DB->delete_records("question_numerical_units", array("question" => $questionid));
         if ($datasets = $DB->get_records('question_datasets', array('question' => $questionid))) {
             foreach ($datasets as $dataset) {
+                if (!$DB->get_records_select(
+                        'question_datasets',
+                        "question != ?
+                        AND datasetdefinition = ?;", array($questionid, $dataset->datasetdefinition))){                                 
                 $DB->delete_records('question_dataset_definitions', array('id' => $dataset->datasetdefinition));
                 $DB->delete_records('question_dataset_items', array('definition' => $dataset->datasetdefinition));
             }
-- 
2.39.5