mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fixed bugs in elt() and make_set()
added two new test cases BitKeeper/etc/ignore: Added mysql-test/r/3.23/sel000004.result.reject mysql-test/var/lib/mysql-bin.006 mysql-test/var/lib/test/elt_ck1.frm mysql-test/var/lib/test/elt_ck1.MYD mysql-test/var/lib/test/elt_ck1.MYI mysql-test/var/lib/test/elt_ck2.frm mysql-test/var/lib/test/elt_ck2.MYD mysql-test/var/lib/test/elt_ck2.MYI to the ignore list mysql-test/r/3.23/sel000004.result: new result mysql-test/r/3.23/sel000005.result: new result sql/item_strfunc.cc: fixed bug in make_set() and elt()
This commit is contained in:
@ -164,3 +164,11 @@ PENDING/2000-10-25.01
|
|||||||
PENDING/2000-10-25.02
|
PENDING/2000-10-25.02
|
||||||
support-files/mysql-3.23.27-beta.spec
|
support-files/mysql-3.23.27-beta.spec
|
||||||
.gdb_history
|
.gdb_history
|
||||||
|
mysql-test/r/3.23/sel000004.result.reject
|
||||||
|
mysql-test/var/lib/mysql-bin.006
|
||||||
|
mysql-test/var/lib/test/elt_ck1.frm
|
||||||
|
mysql-test/var/lib/test/elt_ck1.MYD
|
||||||
|
mysql-test/var/lib/test/elt_ck1.MYI
|
||||||
|
mysql-test/var/lib/test/elt_ck2.frm
|
||||||
|
mysql-test/var/lib/test/elt_ck2.MYD
|
||||||
|
mysql-test/var/lib/test/elt_ck2.MYI
|
||||||
|
@ -1,2 +1,4 @@
|
|||||||
1+1 1-1 1+1*2 8/5 8%5 MOD(8,5) MOD(8,5)|0 -(1+1)*-2 SIGN(-5)
|
id elt(two.val,'one','two')
|
||||||
2 0 3 1.60 3 3 3 4 -1
|
1 one
|
||||||
|
2 one
|
||||||
|
4 two
|
||||||
|
@ -1,2 +1,4 @@
|
|||||||
FLOOR(5.5) FLOOR(-5.5) CEILING(5.5) CEILING(-5.5) ROUND(5.5) ROUND(-5.5)
|
id elt(two.val,'one','two')
|
||||||
5 -6 6 -5 6 -6
|
1 one
|
||||||
|
2 one
|
||||||
|
4 two
|
||||||
|
21
mysql-test/t/3.23/sel000004.test
Normal file
21
mysql-test/t/3.23/sel000004.test
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# sel000004
|
||||||
|
#
|
||||||
|
# Versions
|
||||||
|
# --------
|
||||||
|
# 3.22
|
||||||
|
# 3.23
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# -----------
|
||||||
|
# test for a bug with elt() and order by
|
||||||
|
|
||||||
|
drop table if exists elt_ck1,elt_ck2;
|
||||||
|
create table elt_ck1 (id int(10) not null unique);
|
||||||
|
create table elt_ck2 (id int(10) not null primary key,
|
||||||
|
val int(10) not null);
|
||||||
|
insert into elt_ck1 values (1),(2),(4);
|
||||||
|
insert into elt_ck2 values (1,1),(2,1),(3,1),(4,2);
|
||||||
|
|
||||||
|
@r/3.23/sel000004.result select one.id, elt(two.val,'one','two') from elt_ck1 one, elt_ck2 two
|
||||||
|
where two.id=one.id order by one.id;
|
||||||
|
|
21
mysql-test/t/3.23/sel000005.test
Normal file
21
mysql-test/t/3.23/sel000005.test
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# sel000004
|
||||||
|
#
|
||||||
|
# Versions
|
||||||
|
# --------
|
||||||
|
# 3.22
|
||||||
|
# 3.23
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# -----------
|
||||||
|
# test for a bug with elt()
|
||||||
|
|
||||||
|
drop table if exists elt_ck1,elt_ck2;
|
||||||
|
create table elt_ck1 (id int(10) not null unique);
|
||||||
|
create table elt_ck2 (id int(10) not null primary key,
|
||||||
|
val int(10) not null);
|
||||||
|
insert into elt_ck1 values (1),(2),(4);
|
||||||
|
insert into elt_ck2 values (1,1),(2,1),(3,1),(4,2);
|
||||||
|
|
||||||
|
@r/3.23/sel000005.result select one.id, elt(two.val,'one','two') from elt_ck1 one, elt_ck2 two
|
||||||
|
where two.id=one.id ;
|
||||||
|
|
@ -1190,6 +1190,7 @@ void Item_func_elt::fix_length_and_dec()
|
|||||||
}
|
}
|
||||||
maybe_null=1; // NULL if wrong first arg
|
maybe_null=1; // NULL if wrong first arg
|
||||||
used_tables_cache|=item->used_tables();
|
used_tables_cache|=item->used_tables();
|
||||||
|
const_item_cache&=item->const_item();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1245,6 +1246,7 @@ void Item_func_make_set::fix_length_and_dec()
|
|||||||
for (uint i=1 ; i < arg_count ; i++)
|
for (uint i=1 ; i < arg_count ; i++)
|
||||||
max_length+=args[i]->max_length;
|
max_length+=args[i]->max_length;
|
||||||
used_tables_cache|=item->used_tables();
|
used_tables_cache|=item->used_tables();
|
||||||
|
const_item_cache&=item->const_item();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user