Posted by grafsl on October 9, 2008 at 9:19am
Jump to:
| Project: | Zeitgeist |
| Version: | 6.x-1.x-dev |
| Component: | Code |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | closed (fixed) |
Issue Summary
In zeitgeist.module there are two calls of function cache_set:
466: cache_set(ZGCIDLATEST, 'cache', serialize($block), $expires = $now + 60 * variable_get(ZGVARLATESTCACHE, 0));
485: cache_set(ZGCIDTOP, 'cache', serialize($block), $expires = $now + 60 * variable_get(ZGVARTOPCACHE, 0));But according to cache_set documentation in http://api.drupal.org/api/function/cache_set/6 the second and third arguments have to be swapped.
It cause an error message to be shown on every page where Zeitgeist blocks are shown:
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':2:s:7:"subject";s:22:"Top <em></em> searches";s:7:"content";s:128:"<div class="' at line 1 query: UPDATE a:2:s:7:"subject";s:22:"Top <em></em> searches";s:7:"content";s:128:"<div class="item-list"><ul><li class="first last"><a href="http://127.0.0.1:8080/search/node/udav">udav (3)</a></li> </ul></div>"; SET data = 'cache', created = 1223543532, expire = 1223543532, headers = '', serialized = 0 WHERE cid = 'ZGCIDTOP' in D:\XXX\includes\cache.inc on line 110.Steps to reproduce: clear table 'cache' and remove all Zeitgeist records from table 'variable'.
Comments
#1
Good catch: it's the Drupal 5 syntax that hasn't been ported yet.
#2
Isn't there any progress in fixing this bug?
#3
#4
Also, D6 now automatically serializes cached data.
#5
Fixed in today's version, zeitgeist.module 1.9.6.4.
#6
Automatically closed -- issue fixed for 2 weeks with no activity.