# Description
# -----------
# Simple operands and arithmetic grouping

select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
explain extended select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
select 1 | (1+1),5 & 3,bit_count(7) ;
explain extended select 1 | (1+1),5 & 3,bit_count(7) ;
select 1 << 32,1 << 63, 1 << 64, 4 >> 2, 4 >> 63, 1<< 63 >> 60;
#
# bug #1993: bit functions must be unsigned
#
select -1 | 0, -1 ^ 0, -1 & 0;
select -1 | 1, -1 ^ 1, -1 & 1;
select  1 | -1,  1 ^ -1,  1 & -1;
select  0 | -1,  0 ^ -1,  0 & -1;
select -1 >> 0, -1 << 0;
select -1 >> 1, -1 << 1;

#
# Bug 13044: wrong bit_count() results
#

--disable_warnings
drop table if exists t1,t2;
--enable_warnings
create table t1(a int);
create table t2(a int, b int);
insert into t1 values (1), (2), (3);
insert into t2 values (1, 7), (3, 7);
select t1.a, t2.a, t2.b, bit_count(t2.b) from t1 left join t2 on t1.a=t2.a;
drop table t1, t2;

# End of 4.1 tests
