====
---- QUERY
####################################################
# Regression test for IMPALA-3078: Don't wait for global filters
# that will never arrive in local mode. Set wait-time to 10 minutes,
# but fail the test if the query took more than a minute (see test
# driver which runs this script for timeout detection).
####################################################

set RUNTIME_FILTER_WAIT_TIME_MS=600000;
set RUNTIME_FILTER_MODE=LOCAL;
select count(*) from alltypes p join [SHUFFLE] alltypestiny b
on p.month = b.int_col and b.month = 1 and b.string_col = "1"
---- RESULTS
620
====


---- QUERY
####################################################
# Regression test for IMPALA-3141: Disabled filters should send dummy filters
# to unblock waiters.
####################################################

SET RUNTIME_FILTER_WAIT_TIME_MS=600000;
SET RUNTIME_FILTER_MODE=GLOBAL;
SET RUNTIME_FILTER_MAX_SIZE=4096;
select STRAIGHT_JOIN count(*) from alltypes a
    join [BROADCAST]
    # Build-side needs to be sufficiently large to trigger FP check.
    (select id, int_col from alltypes UNION ALL select id, int_col from alltypes) b
        on a.id = b.id
        # Predicates that are always true (but planner thinks are selective)
        where (b.id - b.id) < 1 AND (b.int_col - b.int_col) < 1;
---- RESULTS
14600
---- RUNTIME_PROFILE
row_regex: .*0 of 1 Runtime Filter Published, 1 Disabled.*
====
