Bug #44189 comment problem (again)

Submitted: 9 Apr 2009 15:05 Modified: 9 Apr 2009 15:17
Reporter: Peter Laursen (Basic Quality Contributor) Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.1.33 OS:Any
Assigned to: CPU Architecture:Any
Tags: qc

[9 Apr 2009 15:05] Peter Laursen
Description:
I am crating a new report with reference to 
http://bugs.mysql.com/bug.php?id=30631

The 'solution' was to document that comments cannot be nested. This is not safisfactory! I reported a difference in behaviour between 5.0 and 5.1.  The 5.0 behaviour is preferable!

5.1 implementation results in a serious risk that dumps will not restore 'stored programs'!

How to repeat:
DELIMITER $$

CREATE PROCEDURE `spdumptest`.`sp1`()
    
    BEGIN		
                -- a comment    
    END$$

CREATE PROCEDURE `spdumptest`.`sp2`()
    BEGIN
		#a comment
    END$$

CREATE PROCEDURE `spdumptest`.`sp3`()
    BEGIN
		/* a comment */
    END$$

DELIMITER ;

.. now DUMP the database.  Most programs including mysqldump will generate SQL for sp3 like 

/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp3`()
BEGIN
		/* a comment */
END */$$

This fails to restore in 5.1.33 but restores perfectly in 5.0.77!

Suggested fix:
1) It is obviously wrong that comments cannot be nested.  They can at least like this

/*
comment
-- comment
*/

.. so at least docs should be corrected. *sometimes* comments can be nested!

2) As backup tools will use "conditional comments" it is not safe to use /*this comment style*/ inside stored programs (including Views), as they will fail to restore from backup created wwith msot backup tools.  This should be made much more clear in documentation!

3) preferred: restore the 5.0 behaviour to later versions!
[9 Apr 2009 15:11] Davi Arnaut
Duplicate of Bug#39559 ?
[9 Apr 2009 15:17] Valeriy Kravchuk
Duplicate of bug #39559.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.054 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.