error when duplicating question

error when duplicating question

by Joseph Rézeau -
Number of replies: 2
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators

Starting with Moodle 3.6, questions can have an ID number (which must be unique within a given category). This results in a bug when duplicating a question with an ID if the user forgets to give the duplicated question a different ID. I would have reported this in the tracker, but I've lost touch with it for a few years. I hope the info below will be useful for someone to create a bug report.

My original question had an ID number = 99.

Error writing to database

Debug info: Duplicate entry '2-99' for key 'mdl_ques_catidn_uix'
INSERT INTO mdl_question

etc.

Stack trace:

  • line 489 of \lib\dml\moodle_database.php: dml_write_exception thrown
  • line 1329 of \lib\dml\mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1375 of \lib\dml\mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
  • line 372 of \question\type\questiontypebase.php: call to mysqli_native_moodle_database->insert_record()
  • line 273 of \question\question.php: call to question_type->save_question()

 

Average of ratings: -
In reply to Joseph Rézeau

Re: error when duplicating question

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I suppose that, like with the question name, what we should do is to automatically alter the idnumber for the duplicate, or automatically blank it.

If you can re-discover your tracker login, please create an improvement request there.