Closed (fixed)
Project:
Block Cache Alter
Version:
6.x-1.4
Component:
Code
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
1 Dec 2010 at 17:11 UTC
Updated:
13 Jul 2011 at 22:52 UTC
query
SELECT module, delta FROM {blocks} WHERE status = '1' AND cache <> '-1'
just ignores blocks, which have status = 0.
But blocks with status=0 still can be invoked using
module_invoke('blockcache_alter', 'block', 'view', 'module,delta');
and that means, that on event such add/delete/update node/comment cache for this block will not reset, because of status = 0
Comments
Comment #1
kiploona commentedIf i'm correct, we can simply change status = '0' in query, or probably make kind of variable, which will modify sql query for example to:
Comment #2
swentel commentedVery edge casy, but it's valid. Like the solution too, but getting a mysql error at
MySQL is escaping the quotes inside the string.
Comment #3
swentel commentedUsed db_placeholders() instead, commited to D6 branch.
Comment #4
tmarly commentedNot so edge casy when using Context module :)
In this case, all blocks have status=0, so cache refresh is not working, except setting the variable blockcache_alter_include_modules to an exhaustive list of all modules, but in this case, it's better to remove the test 'status=1'.
I guess the reason for this test is performances, to avoir a loop on hundreds (or thousands) of blocks ?
Comment #5
btopro commentedsub cause of context usage
Comment #6
bastnic commentedsubscribe