| Bug #26302 | MySQL server cuts off trailing "*/" from comments in SP/func | ||
|---|---|---|---|
| Submitted: | 13 Feb 2007 0:41 | Modified: | 6 Jul 2007 21:16 |
| Reporter: | Alex Rytov | ||
| Status: | Closed | ||
| Category: | Server: Parser | Severity: | S3 (Non-critical) |
| Version: | 5.0.38-BK, 5.0.37 | OS: | Linux (Linux, Windows) |
| Assigned to: | Marc Alff | Target Version: | |
| Tags: | stored function, stored procedure, comments | ||
[13 Feb 2007 0:41]
Alex Rytov
[13 Feb 2007 14:27]
Valeriy Kravchuk
Thank you for a bug report. Verified just as described on Windows XP SP2. It is a QB bug, as mysql command line clinet just strip all comments...
[22 Feb 2007 13:29]
Mike Lischke
This is not a GUI tools bug. The command string sent to the server includes the full comment (via libmysql). It must either be the client lib or the server which cut the closing comment token off. The CLI avoids this problem by simply removing comments, so you cannot use it to verify the bug. You need a separate app that sends SQL to the server.
[12 Mar 2007 14:08]
Valeriy Kravchuk
This is a server bug. Verified just as described with latest 5.0.37 and 5.0.38-BK on
Linux:
openxs@suse:~/dbs/5.0> tail var/suse.log
1 Init DB test
070311 12:58:01 2 Connect root@192.168.0.184 on test
2 Query SELECT @@sql_mode
2 Query SET SESSION sql_mode=''
2 Query SET NAMES utf8
2 Init DB test
2 Query SELECT @@SQL_MODE
2 Query create procedure p2()
select 1 /* testing */
2 Quit
So, in the general query log we see proper comment, while in routines table:
openxs@suse:~/dbs/5.0> bin/mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.38-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select * from information_schema.routines where routine_name='p2'\G
*************************** 1. row ***************************
SPECIFIC_NAME: p2
ROUTINE_CATALOG: NULL
ROUTINE_SCHEMA: test
ROUTINE_NAME: p2
ROUTINE_TYPE: PROCEDURE
DTD_IDENTIFIER: NULL
ROUTINE_BODY: SQL
ROUTINE_DEFINITION: select 1 /* testing
EXTERNAL_NAME: NULL
EXTERNAL_LANGUAGE: NULL
PARAMETER_STYLE: SQL
IS_DETERMINISTIC: NO
SQL_DATA_ACCESS: CONTAINS SQL
SQL_PATH: NULL
SECURITY_TYPE: DEFINER
CREATED: 2007-03-11 12:58:01
LAST_ALTERED: 2007-03-11 12:58:01
SQL_MODE:
ROUTINE_COMMENT:
DEFINER: root@%
1 row in set (0.01 sec)
there is no one.
[13 Mar 2007 0:43]
Marc Alff
The root cause is in the parser, see related Bug#25411
[29 Jun 2007 0:43]
Marc Alff
Pushed into 5.1.20-beta with Bug#24511
[6 Jul 2007 21:08]
Paul DuBois
Previous comment should say: Pushed into 5.1.20-beta with Bug#25411
[6 Jul 2007 21:16]
Paul DuBois
Noted in 5.1.20 changelog. Embedded /* ... */ comments were handled incorrectly within the definitions of stored programs and views, resulting in malformed definitions. This also affected binary log contents.
