Fix for Bug #21466: INET_ATON() returns signed int, not unsigned

parent 987b1b59
...@@ -134,4 +134,11 @@ timediff(b, a) >= '00:00:03' ...@@ -134,4 +134,11 @@ timediff(b, a) >= '00:00:03'
drop table t2; drop table t2;
drop table t1; drop table t1;
set global query_cache_size=default; set global query_cache_size=default;
create table t1 select INET_ATON('255.255.0.1') as `a`;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(21) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
End of 5.0 tests End of 5.0 tests
...@@ -125,4 +125,11 @@ drop table t2; ...@@ -125,4 +125,11 @@ drop table t2;
drop table t1; drop table t1;
set global query_cache_size=default; set global query_cache_size=default;
#
# Bug #21466: INET_ATON() returns signed, not unsigned
#
create table t1 select INET_ATON('255.255.0.1') as `a`;
show create table t1;
drop table t1;
--echo End of 5.0 tests --echo End of 5.0 tests
...@@ -1289,7 +1289,7 @@ public: ...@@ -1289,7 +1289,7 @@ public:
Item_func_inet_aton(Item *a) :Item_int_func(a) {} Item_func_inet_aton(Item *a) :Item_int_func(a) {}
longlong val_int(); longlong val_int();
const char *func_name() const { return "inet_aton"; } const char *func_name() const { return "inet_aton"; }
void fix_length_and_dec() { decimals = 0; max_length = 21; maybe_null=1;} void fix_length_and_dec() { decimals = 0; max_length = 21; maybe_null=1;unsigned_flag=1;}
}; };
......
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