Bug #35390 | Access to Queries in cache is blocked even if invalidation is set to off | ||
---|---|---|---|
Submitted: | 18 Mar 2008 11:30 | Modified: | 6 May 2008 12:27 |
Reporter: | Rizwan Maredia | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | MySQL Server: Query Cache | Severity: | S2 (Serious) |
Version: | 5.1.22, 5.0, 5.1, 6.0 | OS: | Any (MS Windows, Linux) |
Assigned to: | Kristofer Pettersson | CPU Architecture: | Any |
Tags: | query cache, query_cache_wlock_invalidate |
[18 Mar 2008 11:30]
Rizwan Maredia
[18 Mar 2008 19:55]
Sveta Smirnova
Thank you for the report. Verified as described.
[6 May 2008 12:26]
Kristofer Pettersson
This is probably more of a feature request. Query Cache doesn't cache 'statements' but rather text strings representing a expression. When multiple statements are sent to the server it process each statement by cutting up the input character string on each delimiter ';'. However the QC doesn't recognize ;-characters (multiple statements) and stores each new sub-string as a key for the result set. If the above example is changed to only call "SELECT * FROM t1;" without changing delimiter to include more statements, the table is not blocked. The effect of query_cache_wlock_invalidate is indirect by simply invalidating the cache on a WRITE lock: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#option_mysqld_query_ca...