[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