Commit 63255c04 authored by Chad MILLER's avatar Chad MILLER

Bug#37301 Length and Max_length differ with no obvious reason(2nd version)

Length value is the length of the field,
Max_length is the length of the field value.
So Max_length can not be more than Length.
The fix: fixed calculation of the Item_empty_string item length

(Patch applied and queued on demand of Trudy/Davi.)

sql/item.h:
  fixed calculation of the item length
sql/sql_show.cc:
  removed unnecessary code
parent cebc2bf6
...@@ -468,7 +468,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -468,7 +468,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 14 N 1 31 8 def Extra 253 255 14 N 1 31 8
...@@ -484,7 +484,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -484,7 +484,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 5 Y 0 31 8 def type 253 10 5 Y 0 31 8
def possible_keys 253 4096 7 Y 0 31 8 def possible_keys 253 4096 7 Y 0 31 8
def key 253 64 7 Y 0 31 8 def key 253 64 7 Y 0 31 8
def key_len 253 1365 1 Y 0 31 8 def key_len 253 4096 1 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 27 N 1 31 8 def Extra 253 255 27 N 1 31 8
......
...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8 def Extra 253 255 0 N 1 31 8
......
...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8 def Extra 253 255 0 N 1 31 8
......
...@@ -1159,7 +1159,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -1159,7 +1159,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8 def Extra 253 255 0 N 1 31 8
......
...@@ -1201,7 +1201,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -1201,7 +1201,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8 def Extra 253 255 0 N 1 31 8
...@@ -4223,7 +4223,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -4223,7 +4223,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8 def Extra 253 255 0 N 1 31 8
......
...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8 def Extra 253 255 0 N 1 31 8
......
...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8 ...@@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8 def type 253 10 3 Y 0 31 8
def possible_keys 253 4096 0 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8
def key 253 64 0 Y 0 31 8 def key 253 64 0 Y 0 31 8
def key_len 253 1365 0 Y 0 31 8 def key_len 253 4096 0 Y 0 31 8
def ref 253 1024 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63 def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8 def Extra 253 255 0 N 1 31 8
......
...@@ -12,51 +12,51 @@ insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4); ...@@ -12,51 +12,51 @@ insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4);
-- after Bug#29394 is implemented. -- after Bug#29394 is implemented.
check table t1 fast; check table t1 fast;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 5 Y 0 31 8 def Op 253 10 5 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 27 Y 0 31 8 def Msg_text 253 255 27 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 check status Table is already up to date test.t1 check status Table is already up to date
check table t1 fast; check table t1 fast;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 5 Y 0 31 8 def Op 253 10 5 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 27 Y 0 31 8 def Msg_text 253 255 27 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 check status Table is already up to date test.t1 check status Table is already up to date
check table t1 changed; check table t1 changed;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 5 Y 0 31 8 def Op 253 10 5 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 2 Y 0 31 8 def Msg_text 253 255 2 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 check status OK test.t1 check status OK
insert into t1 values (5,5,5); insert into t1 values (5,5,5);
check table t1 changed; check table t1 changed;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 5 Y 0 31 8 def Op 253 10 5 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 2 Y 0 31 8 def Msg_text 253 255 2 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 check status OK test.t1 check status OK
check table t1 medium; check table t1 medium;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 5 Y 0 31 8 def Op 253 10 5 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 2 Y 0 31 8 def Msg_text 253 255 2 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 check status OK test.t1 check status OK
check table t1 extended; check table t1 extended;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 5 Y 0 31 8 def Op 253 10 5 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 2 Y 0 31 8 def Msg_text 253 255 2 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 check status OK test.t1 check status OK
show index from t1; show index from t1;
...@@ -84,10 +84,10 @@ ERROR 23000: Duplicate entry '5' for key 1 ...@@ -84,10 +84,10 @@ ERROR 23000: Duplicate entry '5' for key 1
-- after Bug#29394 is implemented. -- after Bug#29394 is implemented.
optimize table t1; optimize table t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 8 Y 0 31 8 def Op 253 10 8 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 2 Y 0 31 8 def Msg_text 253 255 2 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 optimize status OK test.t1 optimize status OK
optimize table t1; optimize table t1;
...@@ -154,10 +154,10 @@ insert into t1 values (1,1,1,0),(1,1,2,0),(1,1,3,0),(1,2,1,0),(1,2,2,0),(1,2,3,0 ...@@ -154,10 +154,10 @@ insert into t1 values (1,1,1,0),(1,1,2,0),(1,1,3,0),(1,2,1,0),(1,2,2,0),(1,2,3,0
-- after Bug#29394 is implemented. -- after Bug#29394 is implemented.
analyze table t1; analyze table t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 7 Y 0 31 8 def Op 253 10 7 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 2 Y 0 31 8 def Msg_text 253 255 2 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 analyze status OK test.t1 analyze status OK
show index from t1; show index from t1;
...@@ -171,10 +171,10 @@ t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE ...@@ -171,10 +171,10 @@ t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE
-- after Bug#29394 is implemented. -- after Bug#29394 is implemented.
repair table t1; repair table t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 42 7 Y 0 31 8 def Table 253 128 7 Y 0 31 8
def Op 253 3 6 Y 0 31 8 def Op 253 10 6 Y 0 31 8
def Msg_type 253 3 6 Y 0 31 8 def Msg_type 253 10 6 Y 0 31 8
def Msg_text 253 85 2 Y 0 31 8 def Msg_text 253 255 2 Y 0 31 8
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 repair status OK test.t1 repair status OK
show index from t1; show index from t1;
...@@ -788,8 +788,8 @@ latin1_bin latin1 47 Yes 1 ...@@ -788,8 +788,8 @@ latin1_bin latin1 47 Yes 1
---------------------------------------------------------------- ----------------------------------------------------------------
SHOW CREATE DATABASE mysqltest1; SHOW CREATE DATABASE mysqltest1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Database 253 63 10 N 1 31 33 def Database 253 192 10 N 1 31 33
def Create Database 253 1023 69 N 1 31 33 def Create Database 253 3072 69 N 1 31 33
Database Create Database Database Create Database
mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */ mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */
---------------------------------------------------------------- ----------------------------------------------------------------
...@@ -801,8 +801,8 @@ mysqltest1 ...@@ -801,8 +801,8 @@ mysqltest1
---------------------------------------------------------------- ----------------------------------------------------------------
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 63 2 N 1 31 33 def Table 253 192 2 N 1 31 33
def Create Table 253 1023 103 N 1 31 33 def Create Table 253 3072 103 N 1 31 33
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`c` int(11) NOT NULL, `c` int(11) NOT NULL,
...@@ -959,8 +959,8 @@ NULL test t1_bi INSERT NULL test t1 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW ...@@ -959,8 +959,8 @@ NULL test t1_bi INSERT NULL test t1 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW
---------------------------------------------------------------- ----------------------------------------------------------------
SHOW CREATE VIEW v1; SHOW CREATE VIEW v1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def View 253 63 2 N 1 31 33 def View 253 192 2 N 1 31 33
def Create View 253 1023 103 N 1 31 33 def Create View 253 3072 103 N 1 31 33
View Create View View Create View
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1` v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1`
---------------------------------------------------------------- ----------------------------------------------------------------
...@@ -981,9 +981,9 @@ NULL test v1 /* ALGORITHM=UNDEFINED */ select 1 AS `1` NONE NO root@localhost DE ...@@ -981,9 +981,9 @@ NULL test v1 /* ALGORITHM=UNDEFINED */ select 1 AS `1` NONE NO root@localhost DE
---------------------------------------------------------------- ----------------------------------------------------------------
SHOW CREATE PROCEDURE p1; SHOW CREATE PROCEDURE p1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Procedure 253 63 2 N 1 31 33 def Procedure 253 192 2 N 1 31 33
def sql_mode 253 0 0 N 1 31 33 def sql_mode 253 0 0 N 1 31 33
def Create Procedure 253 2046 59 Y 0 31 33 def Create Procedure 253 6144 59 Y 0 31 33
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure
p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
SELECT 1 SELECT 1
...@@ -1033,9 +1033,9 @@ p1 NULL test p1 PROCEDURE NULL SQL SELECT 1 NULL NULL SQL NO CONTAINS SQL NULL D ...@@ -1033,9 +1033,9 @@ p1 NULL test p1 PROCEDURE NULL SQL SELECT 1 NULL NULL SQL NO CONTAINS SQL NULL D
---------------------------------------------------------------- ----------------------------------------------------------------
SHOW CREATE FUNCTION f1; SHOW CREATE FUNCTION f1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Function 253 63 2 N 1 31 33 def Function 253 192 2 N 1 31 33
def sql_mode 253 0 0 N 1 31 33 def sql_mode 253 0 0 N 1 31 33
def Create Function 253 2046 74 Y 0 31 33 def Create Function 253 6144 74 Y 0 31 33
Function sql_mode Create Function Function sql_mode Create Function
f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11) f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
RETURN 1 RETURN 1
...@@ -1141,4 +1141,34 @@ Slow_queries 2 ...@@ -1141,4 +1141,34 @@ Slow_queries 2
show variables like 'myisam_recover_options'; show variables like 'myisam_recover_options';
Variable_name Value Variable_name Value
myisam_recover_options OFF myisam_recover_options OFF
CREATE TABLE t1 (
Codigo int(10) unsigned NOT NULL auto_increment,
Nombre varchar(255) default NULL,
Telefono varchar(255) default NULL,
Observaciones longtext,
Direccion varchar(255) default NULL,
Dni varchar(255) default NULL,
CP int(11) default NULL,
Provincia varchar(255) default NULL,
Poblacion varchar(255) default NULL,
PRIMARY KEY (Codigo)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
show create table t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 64 2 N 1 31 7
def Create Table 253 1024 446 N 1 31 7
Table Create Table
t1 CREATE TABLE `t1` (
`Codigo` int(10) unsigned NOT NULL auto_increment,
`Nombre` varchar(255) default NULL,
`Telefono` varchar(255) default NULL,
`Observaciones` longtext,
`Direccion` varchar(255) default NULL,
`Dni` varchar(255) default NULL,
`CP` int(11) default NULL,
`Provincia` varchar(255) default NULL,
`Poblacion` varchar(255) default NULL,
PRIMARY KEY (`Codigo`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8
drop table t1;
End of 5.0 tests End of 5.0 tests
...@@ -844,4 +844,24 @@ show status like 'slow_queries'; ...@@ -844,4 +844,24 @@ show status like 'slow_queries';
# #
show variables like 'myisam_recover_options'; show variables like 'myisam_recover_options';
#
# Bug#37301 Length and Max_length differ with no obvious reason
#
CREATE TABLE t1 (
Codigo int(10) unsigned NOT NULL auto_increment,
Nombre varchar(255) default NULL,
Telefono varchar(255) default NULL,
Observaciones longtext,
Direccion varchar(255) default NULL,
Dni varchar(255) default NULL,
CP int(11) default NULL,
Provincia varchar(255) default NULL,
Poblacion varchar(255) default NULL,
PRIMARY KEY (Codigo)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
--enable_metadata
show create table t1;
--disable_metadata
drop table t1;
--echo End of 5.0 tests --echo End of 5.0 tests
...@@ -1817,7 +1817,7 @@ class Item_empty_string :public Item_string ...@@ -1817,7 +1817,7 @@ class Item_empty_string :public Item_string
public: public:
Item_empty_string(const char *header,uint length, CHARSET_INFO *cs= NULL) : Item_empty_string(const char *header,uint length, CHARSET_INFO *cs= NULL) :
Item_string("",0, cs ? cs : &my_charset_utf8_general_ci) Item_string("",0, cs ? cs : &my_charset_utf8_general_ci)
{ name=(char*) header; max_length= cs ? length * cs->mbmaxlen : length; } { name=(char*) header; max_length= length * collation.collation->mbmaxlen; }
void make_field(Send_field *field); void make_field(Send_field *field);
}; };
......
...@@ -3666,12 +3666,10 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) ...@@ -3666,12 +3666,10 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list)
/* Don't let unimplemented types pass through. Could be a grave error. */ /* Don't let unimplemented types pass through. Could be a grave error. */
DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING); DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING);
/* this should be changed when Item_empty_string is fixed(in 4.1) */ if (!(item= new Item_empty_string("", fields_info->field_length, cs)))
if (!(item= new Item_empty_string("", 0, cs)))
{ {
DBUG_RETURN(0); DBUG_RETURN(0);
} }
item->max_length= fields_info->field_length * cs->mbmaxlen;
item->set_name(fields_info->field_name, item->set_name(fields_info->field_name,
strlen(fields_info->field_name), cs); strlen(fields_info->field_name), cs);
break; break;
......
...@@ -7578,9 +7578,7 @@ static void test_explain_bug() ...@@ -7578,9 +7578,7 @@ static void test_explain_bug()
else else
{ {
verify_prepare_field(result, 6, "key_len", "", MYSQL_TYPE_VAR_STRING, "", verify_prepare_field(result, 6, "key_len", "", MYSQL_TYPE_VAR_STRING, "",
"", "", "", "", NAME_LEN*MAX_KEY, 0);
NAME_LEN*MAX_KEY / my_charset_utf8_general_ci.mbmaxlen,
0);
} }
verify_prepare_field(result, 7, "ref", "", MYSQL_TYPE_VAR_STRING, verify_prepare_field(result, 7, "ref", "", MYSQL_TYPE_VAR_STRING,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment