← Back to team overview

mahara-contributors team mailing list archive

[Bug 1946616] Re: MySQL8 syntax error - reserved word 'lock'

 

** Changed in: mahara
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: mahara-contributors
https://bugs.launchpad.net/bugs/1946616

Title:
  MySQL8 syntax error - reserved word 'lock'

Status in Mahara:
  Fix Released

Bug description:
  Release testing 21.10:
  master
  MySQL 8
  Firefox
  Maroon theme
  PHP 7.4

  To test:

  1. Create an institution template collection (set to 'Current auto-copied template') with portfolio completion.
  2. Add 1 review block, type a review statement and set 'Lock portfolio' to 'Yes'.
  3. Create a new account and run the cron so that the portfolio is created.
  4. Share the portfolio with a person who can do a review.
  5. Log in as the reviewer and approve the review statement.

  Expected: box should be able to be checked and portfolio locked

  Actual: Does not allow you to check the box. On page reload, sql
  syntax error appears.

  On investigation, the problem was found to be the name of the column
  in the collection table 'lock' - this is a reserved word in MySQL8.
  When I changed the column name to 'locked' this fixed the problem.

  Carrying on through the test scenario:
  6. As portfolio author, check that the portfolio is locked. You can't delete the portfolio.
  7. Wait for 6 months ;-) or rather manipulate the locking date.
  8. Manually run the locking cron job with `UPDATE cron SET nextrun = null WHERE callfunction = 'unlock_collections_by_rollover'`;) and the portfolio should be unlocked.

  Expected result: portfolio is unlocked
  Actual result: sql error (probably also to do with the 'lock' column name.

  Extra: helpful query to manipulate the rolloverdate so we don't have
  to wait 6 months

  -- move the rolloverdate forward 10 months back so that today, more than 6 months have past
   UPDATE collection_template
   SET rolloverdate = DATE_ADD(CURRENT_DATE,INTERVAL -10 MONTH)
   WHERE collection=<your_collection_id>;

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1946616/+subscriptions



References