Bug #12719 | SHOW CREATE PROCEDURE/FUNCTION does obey sql_quote_show_create | ||
---|---|---|---|
Submitted: | 22 Aug 2005 10:51 | Modified: | 20 May 2009 7:28 |
Reporter: | Anders Karlsson | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Stored Routines | Severity: | S3 (Non-critical) |
Version: | 5.0.12, 5.0.14-rc, 5.1.34 | OS: | Linux (Linux) |
Assigned to: | CPU Architecture: | Any |
[22 Aug 2005 10:51]
Anders Karlsson
[16 Sep 2005 17:13]
Valeriy Kravchuk
Problem still exists on today's 5.0.14-rc (ChangeSet@1.1965.2.1, 2005-09-16 09:15:45+03:00, bell@sanja.is.com.ua): mysql> create procedure p1() begin end// Query OK, 0 rows affected (0.00 sec) mysql> create function f1() returns int begin return 1; end// Query OK, 0 rows affected (0.00 sec) mysql> delimiter ; mysql> create table t1(c1 int); Query OK, 0 rows affected (0.03 sec) mysql> show create table t1; +-------+----------------------------------------------------------------------- ---------------+ | Table | Create Table | +-------+----------------------------------------------------------------------- ---------------+ | t1 | CREATE TABLE `t1` ( `c1` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------- ---------------+ 1 row in set (0.00 sec) mysql> show create procedure p1; +-----------+----------+-----------------------------------+ | Procedure | sql_mode | Create Procedure | +-----------+----------+-----------------------------------+ | p1 | | CREATE PROCEDURE `p1`() begin end | +-----------+----------+-----------------------------------+ 1 row in set (0.00 sec) mysql> show create function f1; +----------+----------+--------------------------------------------------------- ---+ | Function | sql_mode | Create Function | +----------+----------+--------------------------------------------------------- ---+ | f1 | | CREATE FUNCTION `f1`() RETURNS int(11) begin return 1; end | +----------+----------+--------------------------------------------------------- ---+ 1 row in set (0.01 sec) mysql> set @@sql_quote_show_create=0; Query OK, 0 rows affected (0.00 sec) mysql> show create table t1; +-------+----------------------------------------------------------------------- -----------+ | Table | Create Table | +-------+----------------------------------------------------------------------- -----------+ | t1 | CREATE TABLE t1 ( c1 int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------- -----------+ 1 row in set (0.00 sec) mysql> show create procedure p1; +-----------+----------+-----------------------------------+ | Procedure | sql_mode | Create Procedure | +-----------+----------+-----------------------------------+ | p1 | | CREATE PROCEDURE `p1`() begin end | +-----------+----------+-----------------------------------+ 1 row in set (0.00 sec) mysql> show create function f1; +----------+----------+--------------------------------------------------------- ---+ | Function | sql_mode | Create Function | +----------+----------+--------------------------------------------------------- ---+ | f1 | | CREATE FUNCTION `f1`() RETURNS int(11) begin return 1; end | +----------+----------+--------------------------------------------------------- ---+ 1 row in set (0.00 sec) mysql> select version(); +-----------+ | version() | +-----------+ | 5.0.14-rc | +-----------+ 1 row in set (0.00 sec)
[10 Oct 2005 18:11]
Patrick Galbraith
As Per-Erik states, this cannot be fixed currently.
[20 May 2009 7:28]
Valeriy Kravchuk
This is still repeatable with 5.1.34: C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot -proot -P3310 test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.1.34-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> delimiter // mysql> create procedure p1() begin end// Query OK, 0 rows affected (0.08 sec) mysql> create function f1() returns int begin return 1; end// Query OK, 0 rows affected (0.00 sec) mysql> delimiter ; mysql> create table ttt1(c1 int); Query OK, 0 rows affected (0.13 sec) mysql> show create table ttt1\G *************************** 1. row *************************** Table: ttt1 Create Table: CREATE TABLE `ttt1` ( `c1` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.03 sec) mysql> show create procedure p1\G *************************** 1. row *************************** Procedure: p1 sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITU TION Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() begin end character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: utf8_general_ci 1 row in set (0.09 sec) mysql> show create function f1\G *************************** 1. row *************************** Function: f1 sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITU TION Create Function: CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11) begin return 1; end character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: utf8_general_ci 1 row in set (0.00 sec) mysql> set @@sql_quote_show_create=0; Query OK, 0 rows affected (0.06 sec) mysql> show create table ttt1\G *************************** 1. row *************************** Table: ttt1 Create Table: CREATE TABLE ttt1 ( c1 int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) mysql> show create function f1\G *************************** 1. row *************************** Function: f1 sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITU TION Create Function: CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11) begin return 1; end character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: utf8_general_ci 1 row in set (0.00 sec) mysql> show create procedure p1\G *************************** 1. row *************************** Procedure: p1 sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITU TION Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() begin end character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: utf8_general_ci 1 row in set (0.00 sec)
[13 Nov 2017 20:47]
Federico Razzoli
Seems to be fixed in (or before) 8.0.3.