Bug #26302 | MySQL server cuts off trailing "*/" from comments in SP/func | ||
---|---|---|---|
Submitted: | 12 Feb 2007 23:41 | Modified: | 6 Jul 2007 19:16 |
Reporter: | Alex Rytov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Parser | Severity: | S3 (Non-critical) |
Version: | 5.0.38-BK, 5.0.37 | OS: | Linux (Linux, Windows) |
Assigned to: | Marc ALFF | CPU Architecture: | Any |
Tags: | comments, stored function, stored procedure |
[12 Feb 2007 23:41]
Alex Rytov
[13 Feb 2007 13: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 12: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 13: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.
[12 Mar 2007 23:43]
Marc ALFF
The root cause is in the parser, see related Bug#25411
[28 Jun 2007 22:43]
Marc ALFF
Pushed into 5.1.20-beta with Bug#24511
[6 Jul 2007 19:08]
Paul DuBois
Previous comment should say: Pushed into 5.1.20-beta with Bug#25411
[6 Jul 2007 19: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.