OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: write lock and sql_cache

From: Werner Puschitz (wpuschitz.com)
Date: Wed Mar 12 2008 - 23:33:30 CDT


MAS! wrote:
> does the "lock table" on MySQL (I'm using 5.0.22 or 5.0.45) works even
> for a cached result?
>
> this is my scenario, (I'm using MyIsam tables)
>
> thread 1:
> LOCK TABLE foo WRITE;
>
> thread 2:
> SELECT * FROM foo ;
> (locked)
>
> thread 1:
> UNLOCK TABLES;
>
> thread 2:
> result of SELECT * ..
>
> and that's is, IMHO, correct; btw, if the result of the select is in the
> cache, it seems that I'm unable to 'lock' again the table:
>
> thread 1:
> LOCK TABLE foo WRITE;
>
> thread 2:
> SELECT * FROM foo ;
> I have the result of the select; that was not 'locked' :(
>
> the only way I found to avoid that is use the SQL_NO_CACHE (then SELECT
> SQL_NO_CACHE FROM foo)
>
> is that correct?! there is a way to avoid to specify "SQL_NO_CACHE" ?
> or there is something wrong ?!

Try setting query_cache_wlock_invalidate to ON.

Werner

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql