blob: ed788c961bf87f68906921534115540c91b36194 [file] [log] [blame]
-- tests MPP-2614
-- two segments no mirrors
drop table if exists test;
create table test (id1 int4, id2 int4, day date, grp text, v int4);
create index test_idx on test (id1,id2,day,grp);
insert into test values (1,1,'1/1/2006','there',1);
insert into test values (1,1,'1/2/2006','there',2);
insert into test values (1,1,'1/3/2006','there',3);
insert into test values (1,1,'1/1/2006','hi',2);
insert into test values (1,1,'1/2/2006','hi',3);
insert into test values (1,1,'1/3/2006','hi',4);
-- this will get the wrong answer (right number of rows, wrong aggregates)
set enable_seqscan=off;
select grp,sum(v) from test where id1 = 1 and id2 = 1 and day between '1/1/2006' and '1/31/2006' group by grp order by sum(v) desc;
-- this will get the wrong answer (right number of rows, wrong aggregates)
set enable_seqscan=off;
set gp_hashagg_streambottom=off;
select grp,sum(v) from test where id1 = 1 and id2 = 1 and day between '1/1/2006' and '1/31/2006' group by grp order by sum(v) desc;
create index test_idx_bm on test using bitmap (id1,id2,day,grp);
set enable_indexscan=off; -- turn off b-tree index
select grp,sum(v) from test where id1 = 1 and id2 = 1 and day between '1/1/2006' and '1/31/2006' group by grp order by sum(v) desc;
-- correct answer
set enable_seqscan=on;
select grp,sum(v) from test where id1 = 1 and id2 = 1 and day between '1/1/2006' and '1/31/2006' group by grp order by sum(v) desc;