Bug #61668 | SQL_CACHE COUNT not allowed inside a stored procedure sub query | ||
---|---|---|---|
Submitted: | 28 Jun 2011 10:37 | Modified: | 4 Nov 2014 3:41 |
Reporter: | Mathieu Massebœuf | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Workbench: SQL Editor | Severity: | S3 (Non-critical) |
Version: | 5.2.34 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | count, sql_cache, stored procedure, workbench |
[28 Jun 2011 10:37]
Mathieu Massebœuf
[28 Jun 2011 16:38]
MySQL Verification Team
related: bug #57664 and bug #54491
[29 Jun 2011 7:37]
Valeriy Kravchuk
The fact that Workbench can not parse this syntax properly and consider it as error is a bug.
[1 Nov 2012 10:55]
Mike Lischke
This is not a bug of WB as it only reflects what the server does. The SQL_CACHE keyword is not allowed there: Error Code: 1064. 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 'COUNT(*) FROM Test); END' at line 4 so indicating this error in the editor is perfectly ok.
[1 Nov 2012 12:59]
Mathieu Massebœuf
Where did you saw the keyword was not allowed ? I just redid that test, here is what I get : mysql> CREATE PROCEDURE `xxxxxxx`.`p__test` () BEGIN SET @NbRecord = ( SELECT SQL_CACHE COUNT(*) FROM Test); END$$ Query OK, 0 rows affected (0.00 sec) mysql> show create procedure p__test\G *************************** 1. row *************************** Procedure: p__test sql_mode: Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `p__test`() BEGIN SET @NbRecord = ( SELECT SQL_CACHE COUNT(*) FROM Test); END 1 row in set (0.00 sec) Tested on an earlier mysql version : mysql Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (x86_64) using readline 5.2
[1 Nov 2012 14:46]
Mike Lischke
Ok, convinced. WB has to support 5.0, even though it's a very old version.