blob: 72d65053723e0f3f191c13ca1d66b1cff76bcd62 [file] [log] [blame]
====
---- QUERY
# This query will do a full table scan, doing a simple aggregation on all cols with
# a simple predicate
select count(*),
sum(id), count(bool_col), sum(tinyint_col), sum(smallint_col),
sum(int_col), sum(bigint_col), max(float_col), max(double_col),
max(date_string_col), max(string_col), max(timestamp_col)
from alltypesagg
where id % 2 = 0 and day is not null
---- RESULTS
5000,24995000,5000,20000,245000,2495000,24950000,1097.800048828125,10079.8,'01/10/10','998',2010-01-10 18:00:55.300000000
---- TYPES
BIGINT, BIGINT, BIGINT, BIGINT, BIGINT, BIGINT, BIGINT, FLOAT, DOUBLE, STRING, STRING, TIMESTAMP
====
---- QUERY
# This query will do a join, projecting one string col from each table.
# This is interesting because the join contains string cols which causes the scanners
# to do different memory handling.
select sum(t1.id), sum(t1.int_col),max(t1.date_string_col), max(t2.string_col)
from alltypesagg t1
inner join alltypesagg t2
on t1.id = t2.id and t1.day is not null and t2.day is not null
---- RESULTS
49995000,4995000,'01/10/10','999'
---- TYPES
BIGINT, BIGINT, STRING, STRING
====
---- QUERY
# This query does a top-n on non-string cols. This is different because without
# string cols, scanners will handle io buffers differently. They don't need to
# be passed up the execution tree.
select id, bool_col, int_col
from alltypesagg where day is not null
order by 1 desc, 2 desc, 3 desc
limit 10
---- RESULTS
9999,false,999
9998,true,998
9997,false,997
9996,true,996
9995,false,995
9994,true,994
9993,false,993
9992,true,992
9991,false,991
9990,true,990
---- TYPES
INT, BOOLEAN, INT
====
---- QUERY
# The next sequence of queries is a regression test for IMPALA-4153
# verifying the retrieval of empty and NULL string columns
select count(*)
from nulltable
---- RESULTS
1
---- TYPES
BIGINT
====
---- QUERY
select count(*)
from nulltable where b = ''
---- RESULTS
1
---- TYPES
BIGINT
====
---- QUERY
select a,b
from nulltable where b = ''
---- RESULTS
'a',''
---- TYPES
STRING, STRING
====
---- QUERY
# The following 3 tests are regression tests for IMPALA-6187. Make sure the conjuncts are
# evaluated when there are no materialized slots or only partition columns are accessed.
select count(*) from alltypes where rand() * 10 >= 0.0;
---- RESULTS
7300
---- TYPES
BIGINT
====
---- QUERY
select count(*) from alltypes where rand() * 10 < 0.0;
---- RESULTS
0
---- TYPES
BIGINT
====
---- QUERY
# 'year' and 'month' are partition columns.
select count(*) from alltypes where rand() - year > month;
---- RESULTS
0
---- TYPES
BIGINT
====
---- QUERY
# IMPALA-6258: Uninitialized tuple pointers in row batch for empty rows
# The following query was non-deterministic because of this bug
select count(v.x) from alltypestiny t3 left outer join (
select true as x from alltypestiny t1 left outer join
alltypestiny t2 on (true)) v
on (v.x = t3.bool_col) where t3.bool_col = true
---- RESULTS
256
---- TYPES
BIGINT
====
---- QUERY
# Scan an empty unpartitioned table.
select * from emptytable;
---- RESULTS
---- TYPES
STRING,INT
====
---- QUERY
# IMPALA-6587: regression test for reservation not being managed correctly. Should be
# able to execute this query reliably with the minimum reservation, even with tiny
# scan ranges. This reliably reproduced the issue when run against text/lzo.
set max_scan_range_length=1;
select count(*) from alltypessmall
---- RESULTS
100
---- TYPES
BIGINT
====
---- QUERY
# IMPALA-5861: RowsRead counter should be accurate for table scan that materializes
# zero slots from this files. This test is run with various batch_size values,
# which helps reproduce the Parquet bug.
select 1 from alltypessmall
---- TYPES
tinyint
---- RESULTS
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
---- RUNTIME_PROFILE
aggregation(SUM, RowsRead): 100
====