[TYPO3-core] RFC: Bug #11903: Use separate tables for tags in the caching framework

Xavier Perseguers typo3 at perseguers.ch
Thu Oct 1 11:23:25 CEST 2009


Hi Olly,

> Xavier Perseguers schrieb:
>> As already said, you should be able to see whether your query is DBAL
>> compatible even without having a non-MySQL database by simply activating
>> DBAL for your test website, it should force SQL Core-integrated parser
>> to be used instead of simply passing queries to DBMS.
> 
> I installed DBAL with using the native connection and put a debug() call
> to ux_t3lib_DB::exec_DELETEquery() when the delete query was built. Then
> I modified a regular content element so that cache entries for that page
> (id:11) get cleared. The result was this:
> 
> DELETE FROM cachingframework_cache_pages
> WHERE identifier IN (
>   SELECT identifier FROM cachingframework_cache_pages_tags
>   WHERE	cachingframework_cache_pages_tags.tag = 'pageId_11'
> )

I have to test this on a non MySQL database then, I was sure subqueries 
were not supported and reading method getValue it seems to confirm this. 
I even read something that should not work. I'll have to test.

> This looks good and the caches were removed as expected. I just tested
> for MySQL. Besides that I stumbled of #12071 while testing...
> 
> Generally, I think this approach is much better than trying to find a
> multiple table deletion that fits all DBMS.

I agree! I like this solution very much. But it has to be tested on 
Oracle or PostgreSQL to make sure it works. And as already said, I'm 
quite sure a further patch will be needed for class.t3lib_sqlparser to 
make it work.

-- 
Xavier Perseguers
MVC ExtJS Leader

http://forge.typo3.org/projects/show/extension-mvc_extjs


More information about the TYPO3-team-core mailing list