Bug #70374 Missing DELIMITER when using "Omit Schema Qualifier Object Names"
Submitted: 18 Sep 2013 8:20 Modified: 18 Sep 2013 11:04
Reporter: Johannes Pfeiffer Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:6.0.7.11215 OS:Windows
Assigned to: CPU Architecture:Any

[18 Sep 2013 8:20] Johannes Pfeiffer
Description:
Routines are missing "DELIMITER ;" when using "Omit Schema Qualifier Object Names" in File / Export / Forward Engineer SQL CREATE Script

How to repeat:
Add a routine "routine1" with e.g. this DQL:
DELIMITER $$

CREATE PROCEDURE `routine1` ()
-- test
BEGIN

END

File / Export / Forward Engineer SQL CREATE Script and check 
 "Omit Schema Qualifier Object Names" results in this SQL:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- procedure routine1
-- -----------------------------------------------------

DELIMITER $$
CREATE PROCEDURE `routine1` ()
-- test
BEGIN

END$$

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

When "Omit Schema Qualifier Object Names" is NOT checked it will result in the correct SQL (with the DELIMITER ;) at the end:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `mydb` ;
USE `mydb` ;

-- -----------------------------------------------------
-- procedure routine1
-- -----------------------------------------------------

DELIMITER $$
USE `mydb`$$
CREATE PROCEDURE `routine1` ()
-- test
BEGIN

END$$

DELIMITER ;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
[18 Sep 2013 8:21] Johannes Pfeiffer
The example Routine routine1

Attachment: example.mwb (application/octet-stream, text), 4.54 KiB.

[18 Sep 2013 11:04] MySQL Verification Team
Thank you for the bug report. Duplicate of http://bugs.mysql.com/bug.php?id=70313 .