mirror of
https://github.com/apache/impala.git
synced 2025-12-30 12:02:10 -05:00
There was a missing break in a switch statement leading to bad fallthrough. An existing test already expected incorrect results. The bug is covered by expecting correct results. Change-Id: I5340c2eda813afc032ba72203bd59eb3f2c4f482 Reviewed-on: http://gerrit.cloudera.org:8080/4585 Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Internal Jenkins
131 lines
4.0 KiB
Plaintext
131 lines
4.0 KiB
Plaintext
====
|
|
---- QUERY
|
|
# Gets all types including a row with a NULL value. The predicate pushed to
|
|
# the data source is not actually used, but the second predicate is
|
|
# evaluated by Impala.
|
|
select *
|
|
from alltypes_datasource
|
|
where float_col != 0 and
|
|
int_col >= 1990 limit 5
|
|
---- RESULTS
|
|
1990,true,0,90,1990,19900,2189,1990,1970-01-01 00:00:01.990000000,'NULL',-999998009,-9999998009,-9999999999.9999998009,-9.9999999999999999999999999999999998009,-99999.98009
|
|
1991,false,1,91,1991,19910,2190.10009765625,1991,1970-01-01 00:00:01.991000000,'1991',999998008,9999998008,9999999999.9999998008,9.9999999999999999999999999999999998008,99999.98008
|
|
1992,true,2,92,1992,19920,2191.199951171875,1992,1970-01-01 00:00:01.992000000,'1992',-999998007,-9999998007,-9999999999.9999998007,-9.9999999999999999999999999999999998007,-99999.98007
|
|
1993,false,3,93,1993,19930,2192.300048828125,1993,1970-01-01 00:00:01.993000000,'1993',999998006,9999998006,9999999999.9999998006,9.9999999999999999999999999999999998006,99999.98006
|
|
1994,true,4,94,1994,19940,2193.39990234375,1994,1970-01-01 00:00:01.994000000,'1994',-999998005,-9999998005,-9999999999.9999998005,-9.9999999999999999999999999999999998005,-99999.98005
|
|
---- TYPES
|
|
INT, BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, FLOAT, DOUBLE, TIMESTAMP, STRING, DECIMAL, DECIMAL, DECIMAL, DECIMAL, DECIMAL
|
|
====
|
|
---- QUERY
|
|
# Project a subset of the columns
|
|
select bigint_col, timestamp_col, double_col
|
|
from alltypes_datasource
|
|
where double_col != 0 and int_col >= 1990 limit 3
|
|
---- RESULTS
|
|
19900,1970-01-01 00:00:01.990000000,1990
|
|
19910,1970-01-01 00:00:01.991000000,1991
|
|
19920,1970-01-01 00:00:01.992000000,1992
|
|
---- TYPES
|
|
BIGINT, TIMESTAMP, DOUBLE
|
|
====
|
|
---- QUERY
|
|
# count(*) with a predicate evaluated by Impala
|
|
select count(*) from alltypes_datasource
|
|
where float_col = 0 and
|
|
string_col is not NULL
|
|
---- RESULTS
|
|
4000
|
|
---- TYPES
|
|
BIGINT
|
|
====
|
|
---- QUERY
|
|
# count(*) with no predicates has no materialized slots
|
|
select count(*) from alltypes_datasource
|
|
---- RESULTS
|
|
5000
|
|
---- TYPES
|
|
BIGINT
|
|
====
|
|
---- QUERY
|
|
select string_col from alltypes_datasource
|
|
where string_col = 'VALIDATE_PREDICATES##id LT 1 && id GT 1 && id LE 1 && id GE 1 && id EQ 1 && id NE 1'
|
|
and id < 1 and id > 1 and id <= 1 and id >= 1 and id = 1 and id != 1
|
|
---- RESULTS
|
|
'SUCCESS'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
select string_col from alltypes_datasource
|
|
where string_col = 'VALIDATE_PREDICATES##id LT 1 && id GT 1 && id LE 1 && id GE 1 && id EQ 1 && id NE 1'
|
|
and 1 > id and 1 < id and 1 >= id and 1 <= id and 1 = id and 1 != id
|
|
---- RESULTS
|
|
'SUCCESS'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Test that <=>, IS DISTINCT FROM, and IS NOT DISTINCT FROM all can be validated
|
|
select string_col from alltypes_datasource
|
|
where string_col = 'VALIDATE_PREDICATES##id NOT_DISTINCT 1 && id DISTINCT_FROM 1 && id NOT_DISTINCT 1'
|
|
and 1 <=> id and 1 IS DISTINCT FROM id and 1 IS NOT DISTINCT FROM id
|
|
---- RESULTS
|
|
'SUCCESS'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Test that <=>, IS DISTINCT FROM, and IS NOT DISTINCT FROM are evaluated just like their
|
|
# equality counterparts
|
|
select * from
|
|
(select count(*) from alltypes_datasource
|
|
where tinyint_col = 1 and smallint_col = 11) a
|
|
union all
|
|
(select count(*) from alltypes_datasource
|
|
where tinyint_col <=> 1 and smallint_col <=> 11)
|
|
---- RESULTS
|
|
50
|
|
50
|
|
---- TYPES
|
|
BIGINT
|
|
====
|
|
---- QUERY
|
|
select * from
|
|
(select count(*) from alltypes_datasource
|
|
where smallint_col = 11 and tinyint_col = 1) a
|
|
union all
|
|
(select count(*) from alltypes_datasource
|
|
where smallint_col <=> 11 and tinyint_col <=> 1)
|
|
---- RESULTS
|
|
500
|
|
500
|
|
---- TYPES
|
|
BIGINT
|
|
====
|
|
---- QUERY
|
|
select * from
|
|
(select count(*) from alltypes_datasource
|
|
where tinyint_col != 1 and smallint_col != 11) a
|
|
union all
|
|
(select count(*) from alltypes_datasource
|
|
where tinyint_col IS DISTINCT FROM 1 and smallint_col IS DISTINCT FROM 11)
|
|
---- RESULTS
|
|
4950
|
|
4950
|
|
---- TYPES
|
|
BIGINT
|
|
====
|
|
---- QUERY
|
|
select * from
|
|
(select count(*) from alltypes_datasource
|
|
where smallint_col != 11 and tinyint_col != 1) a
|
|
union all
|
|
(select count(*) from alltypes_datasource
|
|
where smallint_col IS DISTINCT FROM 11 and tinyint_col IS DISTINCT FROM 1)
|
|
---- RESULTS
|
|
4096
|
|
4096
|
|
---- TYPES
|
|
BIGINT
|
|
====
|