Commit c98b7fe5 authored by unknown's avatar unknown

Merge mysql.com:/home/hf/work/31758/my50-31758

into  mysql.com:/home/hf/work/31758/my51-31758


mysql-test/t/func_str.test:
  Auto merged
sql/item_strfunc.h:
  Auto merged
mysql-test/r/func_str.result:
  merging
parents f97b8e48 462a6f7d
...@@ -722,9 +722,9 @@ Warning 1265 Data truncated for column 'format(130,10)' at row 1 ...@@ -722,9 +722,9 @@ Warning 1265 Data truncated for column 'format(130,10)' at row 1
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`bin(130)` varchar(64) NOT NULL DEFAULT '', `bin(130)` varchar(64) DEFAULT NULL,
`oct(130)` varchar(64) NOT NULL DEFAULT '', `oct(130)` varchar(64) EFAULT NULL,
`conv(130,16,10)` varchar(64) NOT NULL DEFAULT '', `conv(130,16,10)` varchar(64) DEFAULT NULL,
`hex(130)` varchar(6) NOT NULL DEFAULT '', `hex(130)` varchar(6) NOT NULL DEFAULT '',
`char(130)` varbinary(4) NOT NULL DEFAULT '', `char(130)` varbinary(4) NOT NULL DEFAULT '',
`format(130,10)` varchar(4) NOT NULL DEFAULT '', `format(130,10)` varchar(4) NOT NULL DEFAULT '',
...@@ -1315,6 +1315,18 @@ id select_type table type possible_keys key key_len ref rows filtered Extra ...@@ -1315,6 +1315,18 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found 1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings: Warnings:
Note 1003 select decode('',_latin1'zxcv') AS `enc` from `test`.`t1` Note 1003 select decode('',_latin1'zxcv') AS `enc` from `test`.`t1`
drop table t1;
create table t1 (a bigint not null)engine=myisam;
insert into t1 set a = 1024*1024*1024*4;
delete from t1 order by (inet_ntoa(a)) desc limit 10;
drop table t1;
create table t1 (a char(36) not null)engine=myisam;
insert ignore into t1 set a = ' ';
insert ignore into t1 set a = ' ';
select * from t1 order by (oct(a));
a
drop table t1; drop table t1;
End of 4.1 tests End of 4.1 tests
create table t1 (d decimal default null); create table t1 (d decimal default null);
......
...@@ -782,6 +782,19 @@ explain extended select encode(f1,'zxcv') as 'enc' from t1; ...@@ -782,6 +782,19 @@ explain extended select encode(f1,'zxcv') as 'enc' from t1;
explain extended select decode(f1,'zxcv') as 'enc' from t1; explain extended select decode(f1,'zxcv') as 'enc' from t1;
drop table t1; drop table t1;
#
# Bug #31758 inet_ntoa, oct, crashes server with null + filesort
#
create table t1 (a bigint not null)engine=myisam;
insert into t1 set a = 1024*1024*1024*4;
delete from t1 order by (inet_ntoa(a)) desc limit 10;
drop table t1;
create table t1 (a char(36) not null)engine=myisam;
insert ignore into t1 set a = ' ';
insert ignore into t1 set a = ' ';
select * from t1 order by (oct(a));
drop table t1;
--echo End of 4.1 tests --echo End of 4.1 tests
# #
......
...@@ -558,7 +558,8 @@ class Item_func_conv :public Item_str_func ...@@ -558,7 +558,8 @@ class Item_func_conv :public Item_str_func
void fix_length_and_dec() void fix_length_and_dec()
{ {
collation.set(default_charset()); collation.set(default_charset());
max_length= 64; max_length=64;
maybe_null= 1;
} }
}; };
...@@ -656,7 +657,7 @@ class Item_func_inet_ntoa : public Item_str_func ...@@ -656,7 +657,7 @@ class Item_func_inet_ntoa : public Item_str_func
} }
String* val_str(String* str); String* val_str(String* str);
const char *func_name() const { return "inet_ntoa"; } const char *func_name() const { return "inet_ntoa"; }
void fix_length_and_dec() { decimals = 0; max_length=3*8+7; } void fix_length_and_dec() { decimals = 0; max_length=3*8+7; maybe_null=1;}
}; };
class Item_func_quote :public Item_str_func class Item_func_quote :public Item_str_func
......
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