mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #31245
[Bug 1515929] Re: Copy a collection failing
Hi Ed,
This error is due to your database having duplicate rows in the
usr_custom_layout table for the user before they try to copy the
collection, of which at least one page has the same layout.
The code is expecting to retrieve only one row to match against the
current page being copied.
A few users of mahara have reported this problem but I've yet not been
able to replicate how they got duplicate rows in the usr_custom_layout
table in the first place.
If you could shed some light on that it would be great.
Anyway a fix for the problem is to remove by first finding them:
SELECT * FROM usr_custom_layout WHERE usr IS NOT NULL AND usr > 0 ORDER
BY usr, layout;
The problem rows should show the same 'usr' id and 'layout' id in pairs.
You just need to pick one of the pair and delete id
Cheers
Robert
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1515929
Title:
Duplicate records in usr_custom_layout cause fatal crash when copying
a collection
Status in Mahara:
Confirmed
Status in Mahara 15.10 series:
Confirmed
Status in Mahara 16.04 series:
Confirmed
Bug description:
When creating a collection by copying a previous collection we are
getting an error of:
Site unavailable
A nonrecoverable error occurred. This probably means you have encountered a bug in the system
PHP is reporting the following error and we are on the latest version
of Mahara to date 15.10.0:
2015/11/13 09:02:51 [error] 1077#0: *7505 FastCGI sent in stderr: "PHP message: [WAR] 0a (lib/errors.php:747) get_record_sql found more than one row. If you meant to retrieve more than one record, use get_records_*, otherwise check your code or database for inconsistencies
PHP message: Call stack (most recent first):
PHP message: * log_message("get_record_sql found more than one row. If you mea...", 8, true, true) at /scratch/var/mahara/htdocs/lib/errors.php:97
PHP message: * log_warn("get_record_sql found more than one row. If you mea...") at /scratch/var/mahara/htdocs/lib/errors.php:747
PHP message: * SQLException->__construct("get_record_sql found more than one row. If you mea...") at /scratch/var/mahara/htdocs/lib/dml.php:328
PHP message: * get_record_sql("SELECT * FROM "usr_custom_layout" WHERE "layout" ...", array(size 2)) at /scratch/var/mahara/htdocs/lib/dml.php:291
PHP message: * get_record("usr_custom_layout", "layout", "203", "usr", "1770") at /scratch/var/mahara/htdocs/lib/view.php:428
PHP message: * View::create_from_template(array(size 5), "40765", "1770", true, false) at /scratch/var/mahara/htdocs/lib/collection.php:292
PHP message: * Collection::create_from_template(array(size 6), 4307) at /scratch/var/mahara/htdocs/lib/view.php:6376
PHP message: * createview_submit(object(Pieform), array(size 7)) at Unknown:0
PHP message: * call_user_func_array("createview_submit", array(size 2)) at /scratch/var/mahara/htdocs/lib/pieforms/pieform.php:537
PHP message: * Pieform->__construct(array(size 8)) at /scratch/var/mahara/htdocs/lib/pieforms/pieform.php:164
PHP message: * Pieform::process(array(size 8)) at /scratch/var/mahara/htdocs/lib/pieforms/pieform.php:71
PHP message: * pieform(array(size 8)) at /scratch/var/mahara/htdocs/view/choosetemplate.php:27
PHP message:
PHP message: [WAR] 0a (lib/dml.php:327) get_record_sql found more than one row. If you meant to retrieve more than one record, use get_records_*, otherwise check your code or database for inconsistencies
PHP message: Ca
Cheers,
Ed
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1515929/+subscriptions
References