-
Bug
-
Resolution: Duplicate
-
Minor
-
None
-
1.8.4
-
None
-
Any
-
MOODLE_18_STABLE
This is the code, responsible for cache invalidation in set_field() function.
// Clear record_cache based on the parameters passed
// (individual record or whole table)
if ($CFG->rcache === true) {
if ($field1 == 'id')
else if ($field3 == 'id')
{ rcache_unset($table, $value1); } else { rcache_unset_table($table); }}
There are three branches with the same code. Cache must be invalidated using 'id' field value which is $value1 in first branch, $value2 in second one and so on. It should be changed like this, I suppose:
if ($CFG->rcache === true) {
if ($field1 == 'id') { rcache_unset($table, $value1); }
else if ($field2 == 'id')
{ rcache_unset($table, $value2); }else if ($field3 == 'id')
{ rcache_unset($table, $value3); }else
{ rcache_unset_table($table); }- duplicates
-
MDL-14726 rcache bit wrong in set_field
-
- Closed
-