mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merge naruto.:C:/cpp/bug20777/my50-bug20777
into naruto.:C:/cpp/bug20777/my51-bug20777
This commit is contained in:
@ -5832,4 +5832,92 @@ END|
|
||||
CALL bug24117()|
|
||||
DROP PROCEDURE bug24117|
|
||||
DROP TABLE t3|
|
||||
drop function if exists bug20777|
|
||||
drop table if exists examplebug20777|
|
||||
create function bug20777(f1 bigint unsigned) returns bigint unsigned
|
||||
begin
|
||||
set f1 = (f1 - 10); set f1 = (f1 + 10);
|
||||
return f1;
|
||||
end|
|
||||
select bug20777(9223372036854775803) as '9223372036854775803 2**63-5';
|
||||
9223372036854775803 2**63-5
|
||||
9223372036854775803
|
||||
select bug20777(9223372036854775804) as '9223372036854775804 2**63-4';
|
||||
9223372036854775804 2**63-4
|
||||
9223372036854775804
|
||||
select bug20777(9223372036854775805) as '9223372036854775805 2**63-3';
|
||||
9223372036854775805 2**63-3
|
||||
9223372036854775805
|
||||
select bug20777(9223372036854775806) as '9223372036854775806 2**63-2';
|
||||
9223372036854775806 2**63-2
|
||||
9223372036854775806
|
||||
select bug20777(9223372036854775807) as '9223372036854775807 2**63-1';
|
||||
9223372036854775807 2**63-1
|
||||
9223372036854775807
|
||||
select bug20777(9223372036854775808) as '9223372036854775808 2**63+0';
|
||||
9223372036854775808 2**63+0
|
||||
9223372036854775808
|
||||
select bug20777(9223372036854775809) as '9223372036854775809 2**63+1';
|
||||
9223372036854775809 2**63+1
|
||||
9223372036854775809
|
||||
select bug20777(9223372036854775810) as '9223372036854775810 2**63+2';
|
||||
9223372036854775810 2**63+2
|
||||
9223372036854775810
|
||||
select bug20777(-9223372036854775808) as 'lower bounds signed bigint';
|
||||
lower bounds signed bigint
|
||||
0
|
||||
select bug20777(9223372036854775807) as 'upper bounds signed bigint';
|
||||
upper bounds signed bigint
|
||||
9223372036854775807
|
||||
select bug20777(0) as 'lower bounds unsigned bigint';
|
||||
lower bounds unsigned bigint
|
||||
0
|
||||
select bug20777(18446744073709551615) as 'upper bounds unsigned bigint';
|
||||
upper bounds unsigned bigint
|
||||
18446744073709551615
|
||||
select bug20777(18446744073709551616) as 'upper bounds unsigned bigint + 1';
|
||||
upper bounds unsigned bigint + 1
|
||||
18446744073709551615
|
||||
select bug20777(-1) as 'lower bounds unsigned bigint - 1';
|
||||
lower bounds unsigned bigint - 1
|
||||
0
|
||||
select bug20777(1.84e+19) as 'submitter value, 1.84e19';
|
||||
submitter value, 1.84e19
|
||||
9223372036854775808
|
||||
create table examplebug20777 as select
|
||||
0 as 'i',
|
||||
bug20777(9223372036854775806) as '2**63-2',
|
||||
bug20777(9223372036854775807) as '2**63-1',
|
||||
bug20777(9223372036854775808) as '2**63',
|
||||
bug20777(9223372036854775809) as '2**63+1',
|
||||
bug20777(18446744073709551614) as '2**64-2',
|
||||
bug20777(18446744073709551615) as '2**64-1',
|
||||
bug20777(18446744073709551616) as '2**64',
|
||||
bug20777(0) as '0',
|
||||
bug20777(-1) as '-1';
|
||||
insert into examplebug20777 values (1, 9223372036854775806, 9223372036854775807, 223372036854775808, 9223372036854775809, 18446744073709551614, 18446744073709551615, 8446744073709551616, 0, -1);
|
||||
show create table examplebug20777;
|
||||
Table Create Table
|
||||
examplebug20777 CREATE TABLE `examplebug20777` (
|
||||
`i` int(1) NOT NULL default '0',
|
||||
`2**63-2` bigint(20) unsigned default NULL,
|
||||
`2**63-1` bigint(20) unsigned default NULL,
|
||||
`2**63` bigint(20) unsigned default NULL,
|
||||
`2**63+1` bigint(20) unsigned default NULL,
|
||||
`2**64-2` bigint(20) unsigned default NULL,
|
||||
`2**64-1` bigint(20) unsigned default NULL,
|
||||
`2**64` bigint(20) unsigned default NULL,
|
||||
`0` bigint(20) unsigned default NULL,
|
||||
`-1` bigint(20) unsigned default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select * from examplebug20777 order by i;
|
||||
i 2**63-2 2**63-1 2**63 2**63+1 2**64-2 2**64-1 2**64 0 -1
|
||||
0 9223372036854775806 9223372036854775807 9223372036854775808 9223372036854775809 18446744073709551614 18446744073709551615 18446744073709551615 0 0
|
||||
1 9223372036854775806 9223372036854775807 223372036854775808 9223372036854775809 18446744073709551614 18446744073709551615 8446744073709551616 0 0
|
||||
drop table examplebug20777;
|
||||
select bug20777(18446744073709551613)+1;
|
||||
bug20777(18446744073709551613)+1
|
||||
18446744073709551614
|
||||
drop function bug20777;
|
||||
End of 5.0 tests.
|
||||
drop table t1,t2;
|
||||
|
@ -6803,9 +6803,56 @@ DROP PROCEDURE bug24117|
|
||||
DROP TABLE t3|
|
||||
|
||||
#
|
||||
# NOTE: The delimiter is `|`, and not `;`. It is changed to `;`
|
||||
# at the end of the file!
|
||||
# Bug#20777: Function w BIGINT UNSIGNED shows diff. behaviour --ps-protocol
|
||||
#
|
||||
--disable_warnings
|
||||
drop function if exists bug20777|
|
||||
drop table if exists examplebug20777|
|
||||
--enabled_warnings
|
||||
create function bug20777(f1 bigint unsigned) returns bigint unsigned
|
||||
begin
|
||||
set f1 = (f1 - 10); set f1 = (f1 + 10);
|
||||
return f1;
|
||||
end|
|
||||
delimiter ;|
|
||||
select bug20777(9223372036854775803) as '9223372036854775803 2**63-5';
|
||||
select bug20777(9223372036854775804) as '9223372036854775804 2**63-4';
|
||||
select bug20777(9223372036854775805) as '9223372036854775805 2**63-3';
|
||||
select bug20777(9223372036854775806) as '9223372036854775806 2**63-2';
|
||||
select bug20777(9223372036854775807) as '9223372036854775807 2**63-1';
|
||||
select bug20777(9223372036854775808) as '9223372036854775808 2**63+0';
|
||||
select bug20777(9223372036854775809) as '9223372036854775809 2**63+1';
|
||||
select bug20777(9223372036854775810) as '9223372036854775810 2**63+2';
|
||||
select bug20777(-9223372036854775808) as 'lower bounds signed bigint';
|
||||
select bug20777(9223372036854775807) as 'upper bounds signed bigint';
|
||||
select bug20777(0) as 'lower bounds unsigned bigint';
|
||||
select bug20777(18446744073709551615) as 'upper bounds unsigned bigint';
|
||||
select bug20777(18446744073709551616) as 'upper bounds unsigned bigint + 1';
|
||||
select bug20777(-1) as 'lower bounds unsigned bigint - 1';
|
||||
select bug20777(1.84e+19) as 'submitter value, 1.84e19';
|
||||
|
||||
create table examplebug20777 as select
|
||||
0 as 'i',
|
||||
bug20777(9223372036854775806) as '2**63-2',
|
||||
bug20777(9223372036854775807) as '2**63-1',
|
||||
bug20777(9223372036854775808) as '2**63',
|
||||
bug20777(9223372036854775809) as '2**63+1',
|
||||
bug20777(18446744073709551614) as '2**64-2',
|
||||
bug20777(18446744073709551615) as '2**64-1',
|
||||
bug20777(18446744073709551616) as '2**64',
|
||||
bug20777(0) as '0',
|
||||
bug20777(-1) as '-1';
|
||||
insert into examplebug20777 values (1, 9223372036854775806, 9223372036854775807, 223372036854775808, 9223372036854775809, 18446744073709551614, 18446744073709551615, 8446744073709551616, 0, -1);
|
||||
show create table examplebug20777;
|
||||
select * from examplebug20777 order by i;
|
||||
|
||||
drop table examplebug20777;
|
||||
select bug20777(18446744073709551613)+1;
|
||||
drop function bug20777;
|
||||
delimiter |;
|
||||
|
||||
###
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
@ -6814,8 +6861,13 @@ DROP TABLE t3|
|
||||
#drop procedure if exists bugNNNN|
|
||||
#--enable_warnings
|
||||
#create procedure bugNNNN...
|
||||
|
||||
#
|
||||
# Add bugs above this line. Use existing tables t1 and t2 when
|
||||
# practical, or create table t3, t4 etc temporarily (and drop them).
|
||||
# practical, or create table t3,t4 etc temporarily (and drop them).
|
||||
# NOTE: The delimiter is `|`, and not `;`. It is changed to `;`
|
||||
# at the end of the file!
|
||||
#
|
||||
|
||||
delimiter ;|
|
||||
drop table t1,t2;
|
||||
|
||||
|
Reference in New Issue
Block a user